• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   Postman不仅是一个强大的 API 开发工具,它还提供了创建自动化测试脚本的能力,这些脚本可以用于检验API请求得到的响应是否符合预期。这些测试脚本被称为 “Tests”,支持使用 JavaScript 编程语言进行编写,并且 Postman 提供了一系列的断言库来帮助你检查包括但不限于状态码、响应内容以及响应时间在内的响应数据。  创建并运行这些测试脚本的过程分为几个步骤:  创建新的API请求  首先,启动 Postman 应用并新建一个 API 请求。在请求设置界面的顶部导航中,找到并点击 "Tests" 标签。此处提供了一个编辑器,允许你输入和编辑 Java...
            0 0 897
            分享
          •   AREX 是一款开源的基于真实请求与数据的自动化回归测试平台(项目地址:https://github.com/arextest),利用 Java Agent 技术与比对技术,通过流量录制回放能力实现快速有效的回归测试。同时提供了接口测试、接口比对测试等丰富的自动化测试功能,无需编程能力也可快速上手。  在使用 AREX 流量录制功能时,AREX Java?Agent 会记录生产环境中 Java 应用的数据流量和请求信息,并将这些信息发送给 AREX 数据存取服务(Storage Service),由数据存取服务导入 Mongodb 数据库中进行存储。...
            0 0 1892
            分享
          •   作为一名新入行的测试人员,如何提高自己在工作中的影响力呢?可能有人会问了:“测试人员不是只要安分守己的做好自己的测试工作不就行了吗?又不是当管理者,为什么要提高影响力呢?”说实话,我刚入行测试的时候也不懂得提高影响力和我的测试工作有什么关联,每天只是按部就班提交缺陷、回归缺陷罢了,交流的圈子很小。  直到有一次和带我的师傅聊起这个事情,我才明白,原来提高自己的影响力对于我们开展测试工作乃至今后职业的发展都大有裨益。提高影响力,说通俗一点就是提高自己在公司或者项目组内的“知名度”,让大家都知道自己。首先,在测试工作中,免不了要和不同角色的人打交道,比如项目经理、产品经理、开发、测试,还有用户...
            0 0 567
            分享
          • 网络(一)简单描述下TCP协议TCP:传输控制协议,是传输层通信协议。它有面向连接、可靠、字节流传输等特点。TCP建立连接时,需要三次握手协议,TCP三次握手的过程如下:客户端发送SYN报文给服务端,进入SYN_SEND(SEQ=X)状态;服务端收到SYN报文,回应一个SYN(SEQ=Y) AC(ACK=X+1)报文,进入SYN_RECV状态;客户端收到服务端的SYN报文,回应一个ACK(ACK=Y+1)报文,开始建立连接。TCP/IP作用是什么?TCP/IP协议是一套网络通信标准,让全世界的各种不同的设备之间可以进行通信。TCP与UDP的区别?TCP传输控制协议 。UDP用户数据报协议;TC...
            14 19 3742
            分享
          •   《华尔街日报》1月10日消息,MetaPlatforms将不再让广告客户根据性别在Facebook和Instagram上针对青少年投放定向广告,这是旨在收紧该公司针对年轻用户广告政策的更广泛改革的一部分。  该公司在周二的一篇博文中说,Facebook和Instagram上的用户活动也将不再被用来针对青少年投放定向广告。该社交媒体公司表示,例如,对某些Instagram帖子或Facebook页面的参与度将不再决定青少年将看到的广告类型。  Meta表示,年龄和位置将是Facebook或Instagram向年轻人展示广告时使用的唯二信息。作者:佚名原文链接:新浪科技_新浪网(sina.com...
            0 0 703
            分享
      • 51testing软件测试圈微信