2017-06-21 7 views
1

私はスクリプトを自動テストしています。私は、実行をXサイクル(または無限)に設定する必要があります。そうする最良の方法は何ですか?スクリプトを一度にX回(一度に1つずつ)実行するには、どのような方法が推奨されますか

ところで、私は現在、私のIDEを使用してスクリプト全体を実行していますが、特定のコードチャンクを実行するためにCLIを使用することもあります。私のニーズテスト

+0

お使いのOSは? –

+1

'for'ループ、おそらく? – jadsq

+0

私のOSはWindows 7です –

答えて

1

、あなたが今までそれを変更することなく、他のスクリプト(GuiTest.py)からループコードにしたい場合は、状況に応じて2つのソリューションがあります。

1あなたはスクリプトについて何も知らず、実行できることを知っているだけです。

import os 
for i in range(X): 
    os.system("python GuiTest.py") 

これはラウNCHあなたが手でそれを行うだろうと、ブランドの新しいPythonインタプリタとは

2.Youは、コードがどのように見えるかを知っているスクリプトを実行し、ループに何をしたいが、関数またはいくつかの関数で囲まれ

import GuiTest 
for i in range(X): 
    GuiTest.function_to_loop() 
    #if you have to run more than one function per loop: 
    #GuiTest.other_function_to_loop() 

これは、スクリプトを一度だけ初期化する(インポートなどを行います)、実際のコードをループするという利点があります。 seleniumでは、ブラウザが起動するまでに時間がかかるため、面白いことがあります。

+0

実行中にループのこのキングが設定され、スクリプト内にはコード化されていないことが必要です。例えば、私は "GuiTest.py"(それにループが含まれていない、ループを複数回連続して実行するループ)を実行し、それをCLIから実行し、このサイクルを実行するように設定したい場合* .pyファイルを何回か繰り返します。これは私が意味したものです –

+0

更新された答えを見てください。 – jadsq

0

python -c 'for i in range(10): print "hello"'

のために必要とされるであろう 。 Pythonの使用

またはシェル

for i in `seq 10`;do echo hello; done

+0

* .pyファイルを実行するために "python -c"を使用できますか? –

+0

@ MosheS。あなたはpython -cを使わなくても可能ですが、範囲を変更するには 'echo -e 'import os \ nを指定してください(10):os.system(" ./ GuiTest.py ")' | python 'なぜpython -cを使って呼び出しスクリプトを呼び出すことができないのですか?[here](https://stackoverflow.com/questions/25211865/using-an-import-and-a-for-loop-when-passing)を参照してください。 -a-program-as-a-string-to-python) –

関連する問題