51Testing软件测试论坛

标题: selenium IDE录制的脚本另存为python脚本后运行失败 [打印本页]

作者: 32712784    时间: 2015-9-3 23:59
标题: selenium IDE录制的脚本另存为python脚本后运行失败
我用selenium IDE录制的脚本,回放是正常的,但是我另存为python脚本后,就会报错,想问下为什么会这样呢?
下面代码是IDE另存的脚本代码,图片红框是python脚本报错的地方,还请高手能解答一下!
  1. # -*- coding: utf-8 -*-
  2. from selenium import webdriver
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.common.keys import Keys
  5. from selenium.webdriver.support.ui import Select
  6. from selenium.common.exceptions import NoSuchElementException
  7. from selenium.common.exceptions import NoAlertPresentException
  8. import unittest, time, re

  9. class IDERecode119(unittest.TestCase):
  10.     def setUp(self):
  11.         self.driver = webdriver.Firefox()
  12.         self.driver.implicitly_wait(30)
  13.         self.base_url = "http://www.119g.com/"
  14.         self.verificationErrors = []
  15.         self.accept_next_alert = True
  16.    
  17.     def test_i_d_e_recode119(self):
  18.         driver = self.driver
  19.         driver.get(self.base_url + "/Default.aspx#wellcome.aspx")
  20.         driver.find_element_by_id("txtUserName").clear()
  21.         driver.find_element_by_id("txtUserName").send_keys("xxxxxxxx")
  22.         driver.find_element_by_id("txtPwd").clear()
  23.         driver.find_element_by_id("txtPwd").send_keys("xxxxxxx")
  24.         driver.find_element_by_id("Image1").click()
  25.         for i in range(60):
  26.             try:
  27.                 if self.is_element_present(By.CSS_SELECTOR, "a.focus > span"): break
  28.             except: pass
  29.             time.sleep(1)
  30.         else: self.fail("time out")
  31.         driver.find_element_by_css_selector("a.focus > span").click()
  32.         # ERROR: Caught exception [ERROR: Unsupported command [selectFrame | main_frame | ]]
  33.         driver.find_element_by_css_selector("td.tc > input[type=\"checkbox\"]").click()      #报错的地方
  34.         driver.find_element_by_link_text(u"上传文件").click()
  35.         # ERROR: Caught exception [ERROR: Unsupported command [selectWindow | null | ]]
  36.         driver.find_element_by_id("SWFUpload_0").click()
  37.    
  38.     def is_element_present(self, how, what):
  39.         try: self.driver.find_element(by=how, value=what)
  40.         except NoSuchElementException, e: return False
  41.         return True
  42.    
  43.     def is_alert_present(self):
  44.         try: self.driver.switch_to_alert()
  45.         except NoAlertPresentException, e: return False
  46.         return True
  47.    
  48.     def close_alert_and_get_its_text(self):
  49.         try:
  50.             alert = self.driver.switch_to_alert()
  51.             alert_text = alert.text
  52.             if self.accept_next_alert:
  53.                 alert.accept()
  54.             else:
  55.                 alert.dismiss()
  56.             return alert_text
  57.         finally: self.accept_next_alert = True
  58.    
  59.     def tearDown(self):
  60.         self.driver.quit()
  61.         self.assertEqual([], self.verificationErrors)

  62. if __name__ == "__main__":
  63.     unittest.main()
复制代码



作者: 32712784    时间: 2015-9-5 22:49
没人来看一眼么~~
作者: abbybeach    时间: 2015-9-6 17:08
没看明白报的是什么错
作者: 32712784    时间: 2015-9-10 21:43
已经找到 问题了。。。没切换frame
作者: tyy_02    时间: 2015-9-12 21:58
IDE录制的代码另存为脚本文件时,有时会丢失一些动作,但是回放是没问题的
作者: ch4isme    时间: 2015-10-16 17:31
ide语言能实现的方法不一定对应有python下的实现,还是建议ide用于辅助 ,脚本自己写吧




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2