selenium中如何判断元素是否存在?
selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断。
# 判断元素是否存在
try:
dr.find_element_by_id('none')
except NoSuchElementException:
print 'element does not exist'
selenium中hidden或者是display = none的元素是否可以定位到?
不可以,selenium不能定位不可见的元素。display=none的元素实际上是不可见元素。
selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
- 当网速不好的情况下,使用合适的等待时间
- 被点击的元素一定要占一定的空间,因为selenium默认会去点这个元素的中心点,不占空间的元素算不出来中心点;
- 被点击的元素不能被其他元素遮挡;
- 被点击的元素不能在viewport之外,也就是说如果元素必须是可见的或者通过滚动条操作使得元素可见;
- 判断元素是否是可以被点击的
如何提高selenium脚本的执行速度?
- 使用更高配置的电脑和选择更快的网络环境
- 使用效率更高的语言,比如java执行速度就快过python
- 优化代码
- 不要盲目的加sleep,尽量使用显式等待
- 对于firefox,考虑使用测试专用的profile,因为每次启动浏览器的时候firefox会创建1个新的profile,对于这个新的profile,所有的静态资源都是从服务器直接下载,而不是从缓存里加载,这就导致网络不好的时候用例运行速度特别慢的问题
- chrome浏览器和safari浏览器的执行速度看上去是最快的
- 可以考虑分布式执行或者使用selenium grid
用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?
- 测试专属profile,尽量让静态资源缓存
- 尽量使用显式等待
- 尽量使用测试专用环境,避免其他类型的测试同时进行,对数据造成干扰
你的自动化用例的执行策略是什么?
- 每日执行:比如每天晚上在主干执行一次
- 周期执行:每隔2小时在开发分之执行一次
- 动态执行:每次代码有提交就执行
自动化测试的时候是不是需要连接数据库做数据校验?
一般不需要,因为这是单元测试层做的事情,在自动化测试层尽量不要为单元测试层没做的工作还债。
id,name,clas,xpath, css selector这些属性,你最偏爱哪一种,为什么?
xpath和css最为灵活,所以其他的答案都不够完美。
如何去定位页面上动态加载的元素?
显式等待
如何去定位属性动态变化的元素?
找出属性动态变化的规律,然后根据上下文生成动态属性。
点击链接以后,selenium是否会自动等待该页面加载完毕?
java binding在点击链接后会自动等待页面加载完毕。
selenium的原理是什么?
selenium的原理涉及到3个部分,分别是
- 浏览器
- driver: 一般我们都会下载driver
- client: 也就是我们写的代码
client其实并不知道浏览器是怎么工作的,但是driver知道,在selenium启动以后,driver其实充当了服务器的角色,跟client和浏览器通信,client根据webdriver协议发送请求给driver,driver解析请求,并在浏览器上执行相应的操作,并把执行结果返回给client。这就是selenium工作的大致原理。
webdriver的协议是什么?
client与driver之间的约定,无论client是使用java实现还是c#实现,只要通过这个约定,client就可以准确的告诉drier它要做什么以及怎么做。
webdriver协议本身是http协议,数据传输使用json。
这里有webdriver协议的所有endpoint,稍微看一眼就知道这些endpoints涵盖了selenium的所有功能。
启动浏览器的时候用到的是哪个webdriver协议?
New Session,如果创建成功,返回sessionId和capabilities。
什么是page object设计模式?
简单来说就是用class去表示被测页面。在class中定义页面上的元素和一些该页面上专属的方法。
-
我的弟弟作文 学生操行评语 安全教育计划 我最喜欢的季节 护士职业生涯规划书 霸气高冷的短句 国学起名 四级作文模版 部长竞选稿 一年级评语 环境标语 正能量又不俗的群名 职业生涯规划书前言 任现职以来工作总结 带瑶的网名 演讲稿题目 腊梅的诗句 赞美诗歌大全 三年级作文热心肠的人 艰苦奋斗的故事 特殊符号网名 餐桌前的谈话作文 助学金感谢信 我眼中的春天作文 走夜路作文 队伍名字有创意 真的累了 小学教育教学工作计划 难受的句子 实训报告心得体会(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)
-
俄央行回应西方金融制裁水泵乌方称俄同意无条件谈判已是胜利泵厂家基辅周边现蘑菇云 乌方称大败俄军水泵公司乌克兰第二大城市巷战画面曝光球阀泽连斯基同意在乌白边境与俄谈判 水泵 离心泵 泵 上海离心泵 水泵厂 水泵厂家 泵厂家 离心水泵 上海水泵厂 上海水泵公司 螺杆泵 污泥螺杆泵13 上海螺杆泵 螺杆泵10 上海水泵厂 上海水泵公司 焊接球阀 全焊接球阀 直埋全焊接球阀 埋地全焊接球阀 Fully Welded Ball Valve all Welded Ball Valve 全焊接阀门 球阀 全焊接球阀 焊接球阀 泵厂家 泵 螺杆泵 帕特(0) 回复 (0)
-
俄央行回应西方金融制裁水泵乌方称俄同意无条件谈判已是胜利泵厂家基辅周边现蘑菇云 乌方称大败俄军水泵公司乌克兰第二大城市巷战画面曝光球阀泽连斯基同意在乌白边境与俄谈判 水泵 离心泵 泵 上海离心泵 水泵厂 水泵厂家 泵厂家 离心水泵 上海水泵厂 上海水泵公司 螺杆泵 污泥螺杆泵13 上海螺杆泵 螺杆泵10 上海水泵厂 上海水泵公司 焊接球阀 全焊接球阀 直埋全焊接球阀 埋地全焊接球阀 Fully Welded Ball Valve all Welded Ball Valve 全焊接阀门 球阀 全焊接球阀 焊接球阀 泵厂家 泵 螺杆泵 帕特(0) 回复 (0)
-
讨债公司 搬家公司 蓝月传奇辅助(0) 回复 (0)