• 1
  • 1
分享

网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考。

1.Selenium中用什么函数判断元素是否存在?

isElementPresent

2.Selenium中hidden或者是display = none的元素是否可以定位到?

不能,可以写JavaScript将标签中的hidden先改为0,再定位元素

3.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

添加元素智能等待时间 driver.implicitly_wait(30)

添加强制等待时间(比如python中写 sleep)

try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

4.如何提高Selenium脚本的执行速度?

代码优化

5.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

time.sleep( )

driver.implicitly_wait(30)

多用 try 捕捉,处理异常

6.你的自动化用例的执行策略是什么?

自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

7.自动化测试的时候是不是需要连接数据库做数据校验?

从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。

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

css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。

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

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

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

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

11.点击链接以后,Selenium是否会自动等待该页面加载完毕?

会的

12.Webdriver client的原理是什么?

Selenium RC的原理是当浏览器启动时,向其中注入Javascript,从而使这些JS来驱动浏览器中的AUT(Application Under Test),而Selenium Webdriver是通过调用浏览器原生的自动化API直接驱动浏览器

13.Webdriver的协议是什么?

The WebDriver Wire Protocol

14.启动浏览器的时候用到的是哪个Webdriver协议?

http

15.什么是page object设计模式?

简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。

16.怎样去选择一个下拉框中的value=xx的option?

二次定位

17.如何在定位元素后高亮元素(以调试为目的)?

用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框

18.什么是断言?

断言的英文是assertion,断言检查的英文是assertion checking。

断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

19.如果你进行自动化测试方案的选型,你会选择哪种语言,java,js,python还是ruby?

人生苦短,我用python

20.自动化测试用例从哪里来?

手工用例中抽取。(可以参考自动化用例的执行策略)

21.你觉得自动化测试最大的缺陷是什么?

不稳定

可靠性

不易维护

成本与收益

22.什么是分层测试?

行业里面提的一般是金字塔的分层模型

UI测试

集成/接口测试

单元测试

23.Webdriver可以用来做接口测试吗?

有难度,不推荐

软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。

作者:测试猿David

原文链接:https://blog.csdn.net/weixin_50271247/article/details/109391219

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 大型数据库一、Microsoft SQL Server适用于入门者。开放性:只能在windows上运行,没有开放性,操作系统的系统的稳定对数据库是十分重要的,Windows9X系列产品是偏重于桌面应用。伸缩性:并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。安全性:没有获得任何安全证书。性能:多用户时性能不佳客户端支持及应用模式:C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接操作性:操作简单,但只有图形界面。使用风险:完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容。二、Oracle 强大...
            12 12 885
            分享
          •  最近在逛ProductHurt时,发现一些好玩又有趣的API,你可能会觉得花里胡哨,but 作为开发者也需要乐趣的!当然调试API离不开API管理工具,随手也给大家安利一个最近很热门的接口管理工具:Apifox(apifox.cn)?️ ClearbitClearbit提供了网站Logo访问API,只要你输入你想要寻找网站图标的域名,就可以返回域名的相关logo图片~以前要去爬域名的图标,还要浏览器右键点击查看,然后选择元素找到logo的位置,现在找logo图标链路是不是缩短了!API接口:GET https://logo.clearbit.com/:domain比如我最近访问的几...
            9 9 844
            分享
          • 读者提问:作为测试,如何跟不讲理的开发有效沟通?阿常回答:1、不要和这位比较轴、不讲理的开发人员单独正面沟通。2、要当着其他研发、测试和产品的面儿,比如我们可以在产研测微信工作群里,做相关内容的反馈。3、描述问题时附上截图、日志、链接等相关证据。4、必要时发邮件给干系人汇报当前工作情况,包括测试进展如何、当前遇到什么阻碍、阻塞任务的干系人是谁、问题不解决可能存在哪些风险。5、做到如上四点就差不多了,测试该做的都做了,证据也留了,责任在他那儿,相信他也会理性处理相关问题的。阿常碎碎念:今天登录知乎收到了这条邀请回答,说实话阿常在工作中很少遇到这样的开发人员。沟通能力是职场中非常重要的软技能,我们...
            0 0 1063
            分享
          • 一、往期回顾如果用手机自带的浏览器去访问各种网页。自然而然都能获取到 WebView 的,不需要开启什么。用原生的、手机自带的浏览器去试下,也能得到对应的结果。首先,要确保 WebView 的出现,要识别什么是 WebView,WebView 一出现,就代表有 Html 页面。那么接下来的操作,可能就进入 WebView 里面操作了。但是看到了 WebView,要进入 WebView,你就面临了从原生控件的操作,进入了 Html 页面的操作。所以,第一件事情是必须切换,是上下文切换。要切换到这样的一个 WebView,必须保证我的代码当中能够得到 WebView 的名字。如何保证得到 WebV...
            0 0 1462
            分享
          •   软件测试工程师的前景怎么样?分享几个行业数据,用数据说话比较客观。(来源boss直聘)  从数据可以看出,目前从事软件测试行业的人中工作1~3年最多,工作3~5年后、工作5年以上的人很少。  测试这个行业还处于发展初期。因为如果后退10年,很少人知道软件测试是什么。直到今天,也有很多人不了解这个行业。  测试行业从业年龄一般在20至30岁之间,还比较年轻,年龄大的老测试,我佩服他们的学习能力。但是十年前的测试工具现在几乎都被新的框架所取代,如果不与时俱进地学习现在的新框架工具,就会面临被后浪淘汰的结果。软件测试行业平均收入  以北京为例,软件测试的平均工资现在是11366元/月,而我自己是...
            0 0 1404
            分享
      • 51testing软件测试圈微信