51Testing软件测试论坛

标题: Day5-7测试积点任务 [打印本页]

作者: 测试积点老人    时间: 2018-4-19 09:52
标题: Day5-7测试积点任务
问题:
元素不能定位的时候 直接退出报错,is_display() 这样的函数怎么使用?
  1. <font face="微软雅黑" size="3">def test_findkeyboard(self):
  2.     el = self.driver.find_element_by_class_name('UIAKeyboard')
  3.     print(el.is_displayed())
  4. 执行以上test的时候直接报错
  5. An element could not be located on the page using the given search parameters.</font>
复制代码




求助下 is_display()这样的函数应该怎么使用


  1. <font face="微软雅黑" size="3">/usr/bin/python "/Applications/PyCharm CE.app/helpers/pycharm/utrunner.py" /Users/Alfred/sample-code-master/sample-code/examples/python/sapi_login_test.py::SapiHomePageTests::test_findkeyboard true
  2. Testing started at 下午5:57 ...

  3. Error
  4. Traceback (most recent call last):
  5.   File "/Users/Alfred/sample-code-master/sample-code/examples/python/sapi_login_test.py", line 44, in test_findkeyboard
  6.     el = self.driver.find_element_by_class_name('UIAKeyboard')
  7.   File "/Library/Python/2.7/site-packages/selenium-2.41.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 343, in find_element_by_class_name
  8.     return self.find_element(by=By.CLASS_NAME, value=name)
  9.   File "/Library/Python/2.7/site-packages/selenium-2.41.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 655, in find_element
  10.     {'using': by, 'value': value})['value']
  11.   File "/Library/Python/2.7/site-packages/selenium-2.41.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 166, in execute
  12.     self.error_handler.check_response(response)
  13.   File "build/bdist.macosx-10.9-intel/egg/appium/webdriver/errorhandler.py", line 29, in check_response
  14.     raise wde
  15. NoSuchElementException: Message: u'An element could not be located on the page using the given search parameters.' </font>
复制代码




作者: abcsell    时间: 2018-4-20 10:03
查找出错的位置,然后看看上下文的引用
作者: 梦想家    时间: 2018-4-20 10:07
第一个问题:没有找到元素而导致脚本退出,可以使用Try Catch来捕获异常,从而可以继续下面的测试
第二个问题: is_displayed()应该就是这样使用的,可以判断元素对用户是否可见,但是根据你的报错信息,这个元素未找见并导致脚本执行失败,所以el.is_displayed()自然是不会执行
作者: 海海豚    时间: 2018-4-20 10:18
https://testerhome.com/topics/1594?locale=en  可以做一下参考
作者: qqq911    时间: 2018-4-20 10:29
is_displayed() 是布尔函数,只是返回true or false  
作者: jingzizx    时间: 2018-4-20 10:58
判断下元素是否出来再进行后续操作




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