自动化、测开面试题

2020-09-17  本文已影响0人  十二_tester
一、Web 自动化测试
1.Selenium 中 hidden 或者是 display = none 的元素是否可以定位到?
  -不能,可以写 JavaScript 将标签中的 hidden 先改为 0,再定位元素 

2.Selenium 中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
  -1. 添加元素智能等待时间 driver.implicitly_wait(30)
  -2. 添加强制等待时间(比如 python 中写 sleep)
  -3. try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

3、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提用例的稳定性?
  -1. time.sleep( )
  -2. driver.implicitly_wait(30)
  -3. 多用 try 捕捉,处理异常

4、如何去定位页面上动态加载的元素?
  - 触发动态加载元素的事件,直至动态元素出现,进行定位

5、如何去定位属性动态变化的元素?
  -轴定位、xpath 或者 css 通过同级、父级、子级进行定位

6、如果一个元素无法定位,你一般会考虑哪些方面的原因?
  -1.页面加载元素过慢,加等待时间
  -2.页面有frame框架页,需要先跳转入frame框架再定位
  -3.可能该元素是动态元素,定位方式要优化,可以使用部分元素定位或通过父节点或兄弟节点定位
  -4.可能识别了元素,但是不能操作,比如元素不可用,不可写等,需要使用js先把前置的操作完成

7、自动化中有哪三类等待?他们有什么特点?
  -1.线程等待(强制等待)如time.sleep(2):线程强制休眠2秒钟,2秒过后,再执行后续的代码。建议少用。
  -2.imlicitlyWait(隐式等待)会在指定的时间范围内不断的查找元素,直到找到元素或超时,特点是必须等待整个页面加载完成。
  -3.WebDriverWait(显式等待)通常是我们自定义的一个函数代码,这段代码用来等待某个元素加载完成,再继续执行后续的代码

8、如何处理alert弹窗?
  处理alert弹窗首先需要先跳转到alert上,然后在点击确定或者取消按钮
  Alert alet=driver.switchTo().alert();//切换到alert
  alert.dismiss(); //取消
  alert.accept();//接受

9、如何用webdriver进行鼠标右键点击操作?
  Actions actions=new Actions(driver);
  actions.moveToElement(element).perform();
  actions.contextClick().perform();

持续更新中。。。。。

上一篇下一篇

猜你喜欢

热点阅读