Python Selenium自动化(二)自动化注册流程
作者:网络转载 发布时间:[ 2014/6/18 13:33:25 ] 推荐标签:Selenium 自动化测试工具
在这个这个注册流程中,address的下拉菜单中市的选项是基于省份的选值的。这里有一个ajax的异步调用,当用户选择了一个省份之后才会对市下拉单中的值进行加载。于是问题出现了:由于网络的原因,加载市的值的速度是不一定的,有时也许在执行对市的下拉菜单进行选值的时候其中的值其实还没有加载完成。这时,虽然我们选择的是第一个选项,还是会抛出异常:
selenium.common.exceptions.NoSuchElementException: Message: 'Could not locate element with index 1'
这种情况的解决办法是:使用selenium.webdriver.support.ui.WebDriverWait提供的until来使webdriver等待到指定的条件满足或是规定的timeout time到期:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("http://www.zhuce.com")
city = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.NAME,"city")))
Select(city).select_by_index(1)
|
这样,webdriver将会等待name为“city”的元素enable了之后才算找到该元素,并继续进行接下来的点击操作。如果在10秒内该元素都没有加载成功的话,才抛出异常:
raise TimeoutException(message)
selenium.common.exceptions.TimeoutException: Message: ''
python selenium中提供了多种元素等待的条件:
raise TimeoutException(message)
selenium.common.exceptions.TimeoutException: Message: ''
python selenium中提供了多种元素等待的条件:
title_is title_contains
presence_of_element_located
visibility_of_element_located
visibility_of
presence_of_all_elements_located
text_to_be_present_in_element
text_to_be_present_in_element_value frame_to_be_available_and_switch_to_it
invisibility_of_element_located
element_to_be_clickable #it is Displayed and Enabled.
staleness_of
element_to_be_selected
element_located_to_be_selected
element_selection_state_to_be
element_located_selection_state_to_be alert_is_present
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
两种自动化测试工具AutoRunner与Selenium的对比关于Selenium自动化测试框架的较佳设计模式关于Selenium自动化测试框架那些你不知道的事哪种场景下,需要维护Selenium自动化测试过程?如何对Selenium自动化测试框架进行维护?Selenium自动化测试框架在自动化测试中发挥哪些作用?如何使用自动化测试框架ATF执行Selenium脚本?自动化测试脚本怎么写?如何使用Selenium录制浏览器的脚本?Selenium自动化测试框架软件好用吗?Selenium自动化测试框架ATF是如何根据数据生成用例的?多功能Selenium自动化测试框架软件ATFJava版本的Selenium异常记录第一个UI脚本-Python+Selenium实例:用Selenium和用Webdriver构建出来的测试工程如何放慢Selenium的运行速度Selenium FF WebDriver运行时开启firebug的2种方式
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南