我是Python的新手,所以请耐心等待我的无知。说,我有以下结构:
parentDir\
runTests.py
commonpageelements.py
testcases\
__init__.py
test1.py
test2.py
我想初始化webdriver并打开runTests.py中的页面,然后将参数传递给test1.py、test2.py等。对于这个例子,我有一个test1.py的登录测试。我还想要一个包含常见页面元素的 pageelements.py 文件。我将在下面详细介绍 python 文件。
对于 commonpageelements.py,我只定义了各种元素,例如 username="inspected_name"。
我为 runTests.py 尝试了以下内容:
from selenium import webdriver
from testcases import *
import common_page_elements
import sys, unittest, re, time, os.path, logging
class RunTests(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.driver.get("http://url_for_page")
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
def test_loginLogout(username, password):
test_login_logout("myusername", "mypassword")
if __name__ == "__main__":
unittest.main()
然后,在 test1.py 我有:
class test1(username, password):
def test_login_logout():
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_id(pageelements.textfield_username).clear()
driver.find_element_by_id(pageelements.textfield_username).send_keys(username)
driver.find_element_by_id(pageelements.textfield_password).clear()
driver.find_element_by_id(pageelements.textfield_password).send_keys(password)
driver.find_element_by_name(pageelements.button_submit).click()
driver.find_element_by_id(pageelements.link_logout).click()
我真的不确定如何实现这一目标。我在这里有点盲目,尝试调整但无处可去。任何帮助将不胜感激!谢谢