0

SeleniumWebテスト用にPythonでテストスクリプトを作成しています。

Python関数を介してパラメーターを渡し、後の関数を呼び出すにはどうすればよいですか?私は最初にログインテスト機能を持っています。次に、新しいユーザー登録機能があります。testLogin()登録関数で使用しているユーザー名とパスワードを、関数内で呼び出す関数に渡そうとしていtestRegister()ます。

これは私のPythonコードです:

userName = "admin"
password = "admin"

#pass username and password variables to this function
def testLogin(userName,password):
  browser = webdriver.Firefox()
  browser.get("http://url/login")

  element = browser.find_element_by_name("userName")
  element.send_keys(userName)

  element = browser.find_element_by_name("userPassword")
  element.send_keys(password)

  element.send_keys(Keys.RETURN)

  browser.close()

# test registration
def testRegister():
  browser = webdriver.Firefox()
  browser.get("http://url/register")

  #new username variable
  newUserName = "test"
  element = browser.find_element_by_name("regUser")
  element.send_keys(newUserName)

  #new password variable
  newUserPassword = "test"
  element = browser.find_element_by_name("regPassword")
  element.send_keys(newUserPassword)

  #
  #now test if user is registered, I want to call testLogin with the test user name and pw.
  testLogin(newUserName,newUserPassword)

  browser.close()
4

2 に答える 2

0

新しい関数を作成して、すべてのテストを実行できます。

def run_tests(username, password):
    testLogin(username,password)
    testRegister(username, password)

ユーザー名とパスワードのパラメーターを受け入れるようにtestRegisterを変更する必要があります。

次に、run_tests('admin'、'letmein')を使用してスクリプトを開始できます。

于 2012-12-08T01:34:49.470 に答える
0

関数の引数として取得したか、関数を呼び出して受け取ったか、オンザフライで定義したかに関わらず、周囲にある値はすべて、引数として他の関数に渡すことができます。

testRegisterしたがって、で使用するためにいくつかの値を渡したい場合は、次のようtestLoginにします。

# test registration
def testRegister(userName, password):
  browser = webdriver.Firefox()
  browser.get("http://url/register")

  element = browser.find_element_by_name("regUser")
  element.send_keys(userName)

  element = browser.find_element_by_name("regPassword")
  element.send_keys(password)

もっと欲しいものはありますか?

于 2012-12-07T23:06:07.403 に答える