efficient 发表于 2014-11-24 15:00:29

怎样让脚本在当前浏览器运行?

请教:
比如我写了两个脚本
一个是查询信息的,一个是选择其中一条信息的
我运行完查询信息的脚本后,浏览器还是打开停留在当前查询页面的,可是我运行第二条脚本的时候,浏览器会重新打开一个,而不是在当前浏览器操作
下面是信息查询的脚本:
class PerSearch(unittest.TestCase):
    def setUp(self):
      self.driver = webdriver.Firefox()
    def test_PerSearch(self):
      driver = self.driver
      driver.get("https://...../Home")   
      driver.find_element_by_id("ctl00_PageContent_txtUsername_text").send_keys("XXX")
      driver.find_element_by_id("ctl00_PageContent_txtPassword_text").send_keys("XXXX")
      driver.find_element_by_id("ctl00_PageContent_btnSignIn").click()
      time.sleep(3)
      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()
      driver.find_element_by_id("ctl00_content_53_1526_filtersList_ctrl0_ctl00_singleLineTextField_text").send_keys("123456789")
      driver.find_element_by_id("ctl00_content_53_1526_filterButton").click()   
    def tearDown(self):
      driver = self.driver   
      #driver.quit()
if __name__ == '__main__':
   unittest.main()
下面是选择其中一条信息的脚本
class PersonSelect(unittest.TestCase):
    def setUp(self):
      self.driver = webdriver.Firefox()      
    def test_PersonSelect(self):
      driver = self.driver      
      driver.find_element_by_name("ctl00$content$53_1526$grid$ctl00$ctl04$ctl00").click()
    def tearDown(self):
      driver = self.driver
      driver.quit()
if __name__ == '__main__':
    unittest.main()

谢谢了

ruoyi1314520 发表于 2014-11-24 20:10:05

webdriver没有这个功能,你去看webdriver的运行原理,就知道,为啥不可能实现了,如果要实现,用QTP,QTP可以解决

efficient 发表于 2014-11-25 08:43:43

ruoyi1314520 发表于 2014-11-24 20:10
webdriver没有这个功能,你去看webdriver的运行原理,就知道,为啥不可能实现了,如果要实现,用QTP,QTP可 ...

那用webdriver 怎么写用例? 比如我说的那两个例子, 那例子二的代码就要包括列子一的了?

ruoyi1314520 发表于 2014-11-25 10:32:43

你都说了,你例子2,包含例子1,你把例子1写成一个方法就行了嘛,这样可以重复调用,那不然那种登陆功能,这种频繁重复的功能,咋处理呢
页: [1]
查看完整版本: 怎样让脚本在当前浏览器运行?