网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考。
isElementPresent
不能,可以写JavaScript将标签中的hidden先改为0,再定位元素
添加元素智能等待时间 driver.implicitly_wait(30)
添加强制等待时间(比如python中写 sleep)
try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种
代码优化
time.sleep( )
driver.implicitly_wait(30)
多用 try 捕捉,处理异常
自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果
从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。
css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。
触发动态加载元素的事件,直至动态元素出现,进行定位
xpath或者css通过同级、父级、子级进行定位
会的
Selenium RC的原理是当浏览器启动时,向其中注入Javascript,从而使这些JS来驱动浏览器中的AUT(Application Under Test),而Selenium Webdriver是通过调用浏览器原生的自动化API直接驱动浏览器
The WebDriver Wire Protocol
http
简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。
二次定位
用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框
断言的英文是assertion,断言检查的英文是assertion checking。
断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。
人生苦短,我用python
手工用例中抽取。(可以参考自动化用例的执行策略)
不稳定
可靠性
不易维护
成本与收益
行业里面提的一般是金字塔的分层模型
UI测试
集成/接口测试
单元测试
有难度,不推荐
软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。
作者:测试猿David
原文链接:https://blog.csdn.net/weixin_50271247/article/details/109391219