面试题六期-中高级测试工程师基础知识必备之selenium篇

2019-11-21 17:29:38 浏览数 (1)

小黄鸡欢迎同学前来面试自动化篇

引言:自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。有同学说问题太多难消化,那就每天只推送十题之内。

a.自动化测试框架都有哪些?

1.模块化框架(test script modularity)

2.函数库结构框架(test library architecture)

3.关键字驱动测试框架(keyword-driven/table-driven testing)

4.数据驱动测试框架(data-driven testing)

5.混合型框架(hybrid test automation)

b.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

css 、xpath 几乎所有的元素都可以定位到

c.如何去定位页面上动态加载的元素?

触发动态加载元素的事件,直至动态元素出现,进行定位

加油鸭

d.如何去定位属性动态变化的元素?

xpath或者css通过同级、父级、子级进行定位

e.提到Selenium和Sikuli有什么区别?

Selenium:

它不能自动化视频播放器,音频播放器等闪存对象。

它有复杂的API

它没有视觉匹配

它只能自动化Web应用程序

f.如何提高selenium脚本的执行速度?

Selenium脚本的执行速度受多方面因素的影响:

- 网速;

- 操作步骤的繁琐程度;

- 页面加载的速度;

- 脚本中设置的等待时间;

- 运行脚本的线程数;

- 能稳定的视线回归测试是关键;


提高速度的方法:

减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。

中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。

在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。

配置testNG实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。

g.做自动化测试是否需要连接数据库做数据校验?

UI自动化测试不需要,接口自动化测试需要;

0 人点赞