selenium 运行完一个def后浏览器被关掉 下一个def要重启
代码如下, 怎样才能让def的动作在同一个浏览器中连续操作?现在是运行完test_sohema_log_in浏览器会被关掉,然后在重启进行下一个def
class personAdd(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(20)
def test_sohema_log_in(self):
driver = self.driver
driver.get("https://.../SignIn")
driver.find_element_by_id("ctl00_PageContent_txtUsername_text").clear()
driver.find_element_by_id("ctl00_PageContent_txtUsername_text").send_keys("...")
driver.find_element_by_id("ctl00_PageContent_txtPassword_text").clear()
driver.find_element_by_id("ctl00_PageContent_txtPassword_text").send_keys("....")
driver.find_element_by_id("ctl00_PageContent_btnSignIn").click()
def test_personAdd(self):
driver = self.driver
driver.get("https://..../Search")
driver.find_element_by_xpath("//form/div/div/div/div/div/div/div/ul/li/a/span/span/span").click()
driver.find_element_by_id("ctl00_content_665_2185_filtersList_ctrl0_ctl00_singleLineTextField_text").send_keys("sm")
driver.find_element_by_id("ctl00_content_665_2185_filterButton").click()
def test_MMISData(self):
driver = self.driver
driver.find_element_by_xpath("//form/div/div/div/ul/li/div/ul/li/a/span").click()
driver.find_element_by_xpath("//form/div/div/div/ul/li/div/ul/li/div/ul/li/a/span").click()
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
suite = unittest.TestSuite()
suite.addTest(personAdd("test_personAdd"))
suite.addTest(personAdd("test_MMISData"))
runner = unittest.TextTestRunner()
runner.run(suite) tearDown是每个case运行后,都会执行的,里面的self.driver.quit()当然是结束脚本,如果要按照你那么说,不用关闭浏览器,连接执行脚本,最简单的写说,就是把几个case,弄成1个case不就行了吗,当执行完1个case后,想执行下一个case,就直接driver.get("xxx"),跳到对应的地址就行了,但是想不通你做这个的意义是啥,本身一个case都是推荐,从头到尾,不建议多个case合并成1个case 我还是新手, 在学的过程中遇到这个问题,想弄明白原因,我理解是def setUp(self) ->def test_sohema_log_in(self)->def test_personAdd(self)->def test_MMISData(self)->def tearDown(self) 这样执行下去, 可是实际上好像不是,就是想弄明白为啥每个def都有一次起启动浏览器,关闭浏览器的动作。
efficient 发表于 2014-11-18 14:31
我还是新手, 在学的过程中遇到这个问题,想弄明白原因,我理解是def setUp(self) ->def test_sohema_log_i ...
你弄错了,def setUp>def test>tearDown>def setUp>def test>tearDowndef setUp>def test>tearDowndef setUp>def test>tearDowndef setUp>def test>tearDowndef setUp>def test>tearDowndef setUp>def test>tearDown
是这样的 ruoyi1314520 发表于 2014-11-18 23:21
你弄错了,def setUp>def test>tearDown>def setUp>def test>tearDowndef setUp>def test>tearDowndef se ...
好的 谢谢回答^_^
页:
[1]