测试工程师python常见面试题,python 自动化面试题

  测试工程师python常见面试题,python 自动化面试题

  整理自动化的问题记录(有些答案是自己整理的))))))。

  硒是如何确定元素的存在的?

  没有本地方法来确定元素是否存在,但通常可以通过定位元素的异常来确定。

  有没有可能把硒的隐藏或显示元素定位到?

  不会,如果要点击,可以删除js中dispalay=none的属性。

  硒如何保证操作元素的成功率?也就是说,如何保证我点击的元素可以被点击?

  1.首先,通过封装find方法来实现wait _ for _ element _ is present(web driver wait)。

  2.在单击页面之前,滚动到Js封装的元素,以便在页面未被加载或下拉后不会显示。

  3.不同方式定位,用expected_conditions判断方法封装,循环判断页面元素后运行;

  4.开发人员标准化开发习惯,包括指定唯一的名称、id等。对于页面元素。

  如何提高selenium脚本的运行速度?

  1.优化测试用例。在设置等待时间时,不要使用sleep,尽量不要使用隐式_wait,使用显式等待时间方法。

  2.减少不必要的操作步骤。如果能打开3、4步测试过的页面,可以直接从网站打开。

  3.中断页面读取。如果加载的内容不影响测试,设置超时,中断页面加载;

  使用Selenium grid实现测试并发。编写测试用例时,实现松耦合,然后设置多线程,在服务允许的情况下实现并发。

  在用例的执行过程中,它经常变得不稳定。换句话说,这次可以通过,下次就不行了。如何提高用例的稳定性?

  1.在频繁检测失败因素之前,尝试添加显式等待时间,待待操作因素出现后再进行下一次操作;

  2.对于多线程,降低测试用例的耦合度。因为多线程的执行顺序是不受控制的。

  3.使用try捕获和处理异常。

  4.尽量使用特殊的测试环境,以确保同时进行其他类型的测试,并且不干扰数据。

  如何设计高质量的自动化脚本

  1.4采用分层结构实现业务逻辑、脚本和数据的分离。

  2.使用po设计模式,将页面中使用的元素和操作步骤封装到一个页面类中。如果元素的位置发生变化,则只有该页面上元素的属性会发生变化。

  3.试从客户的正向逻辑来分析页面类方法。有些方法是独立的场景。比如不要尝试登录注销,然后把所有的步骤合并成一个方法。

  4在测试用例的设计上,降低测试用例之间的耦合度。

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

  1.自动化测试用例用于监控。整合詹金斯,创建预定任务并定期执行;

  2.有些用例必须在产品上线前返回。Jenkins将任务绑定到开发的构建任务并触发其执行;

  3.有些用例不需要经常执行。当需要创建和执行任务时,Jenkins可以手动构建它。

  什么是持续集成?

  通过频繁地将代码集成到主干中,并继续项目框架,我们可以快速地找出错误,并防止分支严重偏离主干。

  在自动化测试过程中,需要连接到数据库进行数据验证吗?

  不需要UI自动化

  需要进行接口测试。

  硒有几种定位方式吗?你最喜欢哪一个?为什么?

  硒有八个方位。

  有三种类型的名称:name、class_name和tag_name。

  与link相关的有link_text和partital _ link _ text。

  身份相关:身份

  全能选手:xpath,css_selector

  如果id存在,请确保使用它。因为简单方便,定位最快。接下来是Xpath。这是因为html标签的属性通常不够标准化,无法唯一确定。通过相对定位的Xpath

  否则应该优先考虑CSS locator,因为它在大多数现代浏览器中的求值速度都比XPath快。

  如何找到动态加载到页面中的元素?

  首先触发动态事件,然后定位它。对于动态菜单,需要层次定位。——JS实现(封装动态事件)

  如何找到属性动态变化的元素?

  首先,寻找这个元素的不变属性。如果一切都改变了,寻找不变的父元素,并在层次结构中定位它(不变对应于可变)。

  属性的动态变化意味着元素没有固定的属性值,因此您可以

  JS已经意识到,

  相对位置,如xpath轴、paren/following-sibling/percent-sibling

  3358詹/archive/2009/09/10/1564332 . html

  点击链接后,selenium是否希望等待页面自动加载?

  不会。因此,如果在selenium完成页面加载之前请求页面资源,可能会错误地报告该元素不存在。所以,首先,我们必须

  考虑selenium是否已经加载完这个页面。其次,通过函数找到元素。

  webdriver客户端的原理是什么?

  selenium启动后,驱动作为服务器,与客户端和浏览器通信,客户端根据webdriver协议向驱动发送请求。驱动程序解析请求,在浏览器上执行相应的操作,并将执行结果返回给客户端。

  webdriver的协议是什么?

  WebDrive协议本身就是http协议,使用json进行数据传输

  启动浏览器时使用哪个webdriver协议?

  -http

  什么是页面对象设计模式?

  1.一般来说,把每个页面都当作一个页面对象,在页面层次上编写定位元素和页面操作方法。

  2.用例层从页面层调用操作方法,并写成用例。

  3.您可以将定位元素与脚本分开。

  下拉框中value=xx的选项如何选择?

  1.select类中提供的方法:select _ by _ value ("XXX ")

  2.2.xpath的语法也可以定位到

  如何在定位一个元素后高亮显示它(用于调试目的)?

  -重置元素属性,为定位的元素添加背景和边框。

  什么是断言和验证?

  断言:当检查失败时,测试将停止,后续的检查将不会运行。

  优点:可以直接看到检验是否通过。

  缺点:检查失败后,将不会执行后续的检查,并且无法收集那些检查结果的状态。

  验证:测试不会被终止。

  缺点:你要做更多的工作来检查测试结果:检查日志3354需要更多的时间,所以更倾向于断言。

  在页面设置模式下,需要给位于页面中的方法添加断言吗?

  不,page页面只做元素抓取和操作方法。

  在页面对象设计模式中,如何实现页面跳转?

  初始化驱动程序参数,页面类传递驱动程序参数。

  自动化测试用例从何而来?

  -从手工用例中提取

  你认为自动化测试最大的缺陷是什么?

  不稳定

  -不可靠。

  -不容易维护

  -成本和收益

  什么是分层测试?

  1.数据层

  2.界面层

  3.用户界面层

  webdriver可以用于接口测试吗?

  不,webdriver是一个专门用于web的UI自动化参数。

  get和post有什么区别?

  1.GET request:请求的数据将被追加到URL中,以?分区URL和传输数据,连接多个参数。

  POST请求:POST请求将请求的数据放在HTTP请求包的主体中。

  2.传输数据的大小

  使用GET请求时,传输的数据会受到URL长度的限制。

  对于POST,理论上没有限制。

  3.安全。邮政的安全性高于GET

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: