我是Python的新手,请耐心等待我的无知。我说,我有以下结构:如何调用python子目录中包含的selenium webdriver测试
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()
我只是真的不是如何实现这一目标肯定。我有点在这里盲注,尝试调整,但无处可去。任何帮助将不胜感激!由于
我添加了一个可能有用的答案。主要思想是它将使您的测试更好地分区,并且更易于集体执行。希望能帮助到你 :) – RocketDonkey