selenium常见面试题,python+selenium自动化测试面试题

  selenium常见面试题,python+selenium自动化测试面试题

  今天,学生们问seleinum他们将在面试中被问到的问题,自己思考并记录一段时间。欢迎大家在评论中提供更多问题。

  1.如何判断一种元素是否存在1 .硒?Selenium没有提供判断元素存在的原生方法,一般可以通过定位元素的异常来判断。

  # try:dr . find _ element _ by _ id( none )exception nosuchelementexception 3360 Print elementdoesnotexist 2。display=none的元素实际上是不可见的元素。

  3.3 .硒如何保证操作元素的成功率?也就是说,如何保证我点击的元素可以被点击?被点击的元素必须占据一定的空间。默认情况下,selenium会到达这个元素的中心点,所以不占用空间的元素无法计算中心点。

  被单击的元素不能被其他元素隐藏;

  单击的元素不在视口之外。即元素是否可见,或者需要通过滚动条的操作来显示。

  如果用element.is_enabled () (python代码)判断一个元素是否可以点击,返回false证明该元素可能灰显,此时不能点击。

  如何提高selenium脚本的运行速度?使用更高效的语言,比如运行速度比python更快的java

  不要盲目玩睡眠,尽量使用显示等待。

  对于firefox,我们考虑使用专用于测试的配置文件。每次启动浏览器时,firefox都会创建一个新的配置文件。对于这个新的配置文件,所有的静态资源都是直接从服务器下载的,而不是从缓存下载的,所以存在一个问题,就是在网络不好的情况下用例运行非常慢。

  Chrome和safari浏览器似乎是最快的。

  可以考虑分布式操作或者使用selenium grid。

  5.用例在操作中经常变得不稳定。换句话说,这次可以通过,下次就不行了。如何提高用例的稳定性?尽可能测试专用配置文件和缓存静态资源。

  尽可能多地表示等待。

  尽量使用特殊的测试环境,保证其他类型的测试同时进行,不干扰数据。

  6.你对自动化用例的执行策略是什么?日常执行:比如每天晚上由骨干执行。

  循环执行:根据开发分钟,每2小时一次。

  动态执行:每次提交代码时执行。

  7.什么是持续集成?学习能力的自我提升很重要(1079636098)。推荐软件测试技术交流群。

  8.自动化测试时,需要连接数据库进行数据检查吗?一般不需要。因为这是单元测试层正在做的事情,自动化测试层不会为单元测试层没有做的工作买单。

  9.你最喜欢下列属性之一:id、名称、类、x路径和类选择器?因为xpath和css是最灵活的,所以其他答案并不完美。

  如何在10个页面中找到动态加载的元素?等待显示

  1.如何配置属性动态变化的元素?找出属性的动态变化规律,根据上下文生成动态属性。

  12.点击链接后,selenium会自动等待页面加载吗?当点击链接时,Java绑定将自动等待页面加载。

  13.网络驱动客户端的原理是什么?硒的原理有三个部分,即

  浏览器

  驱动:一般下载驱动。

  客户:就是我们写的代码。

  客户端实际上并不知道浏览器是如何工作的,但是驱动程序在selenium启动后实际上充当了服务器的角色,与客户端和浏览器进行通信,客户端基于web驱动协议向驱动程序发出请求。

  14.网络驱动的协议是什么?和客户端驱动程序。无论是在java还是c#上实现,客户端都可以通过这个约定准确地告诉drier做什么和如何做。

  web驱动协议本身就是http协议,使用json来传输数据。

  这里是web驱动协议的所有端点。稍微看一下,你会发现这些端点涵盖了硒的所有功能。

  15.启动浏览器时使用哪种web驱动程序协议?New,如果创建成功,将返回sessionId和功能。

  16 .什么是页面对象设计模式?简单来说,用班级显示被测量页面1000级。定义页面上的元素和特定于该页面的方法。

  范例

  公共克拉斯登录页面{ privatefinalbewebdriverdriver酒馆

  lic登录页面(web驱动程序驱动程序){ this.driver=driver//检查我们是否在正确的页面上。如果(!登录.等于(司机。gettitle()){//或者,我们可以导航到登录页面,也许先注销抛出新的IllegalStateException(这不是登录页面);} } //登录页面包含几个超文本标记语言元素,它们将被表示为WebElements .//这些元素的定位器应该只定义一次. By usernameLocator=By.id(用户名);按密码定位器=按。id( passwd );by loginButtonLocator=by。id(“登录”);//登录页面允许用户将其用户名键入用户名字段公共登录页面类型用户名(字符串用户名){//这是唯一"知道"如何输入用户名的地方sendKeys(用户名);//返回当前页面对象,因为此操作没有导航到由另一个页面对象表示的页面;返回这个;} //登录页面允许用户在密码字段公共登录页面类型密码(字符串密码){//这是唯一"知道"如何输入密码的地方sendKeys(密码);//返回当前页面对象,因为此操作没有导航到由另一个页面对象表示的页面;返回这个;} //登录页面允许用户提交登录表单公共主页submitLogin() { //这里是唯一提交登录表单并期望目的地是主页的地方。//应该为单击登录但预期登录失败的实例创建一个单独的方法司机。查找元素(loginButtonLocator).submit();//返回表示目标的新页面对象。如果登录页面//去了别的地方(例如,一个合法的免责声明),那么改变这个方法的方法签名//将意味着依赖于这个行为的所有测试都不能编译。返回新主页(驱动);} //登录页面允许用户在知道输入了无效用户名和/或密码的情况下提交登录表单公共登录页面submitloginexpictingfailure(){//这是提交登录表单的唯一位置,并且由于登录失败,期望目的地是登录页面司机。查找元素(loginButtonLocator).submit();//返回表示目标的新页面对象。如果用户在使用凭据//预计会失败的登录提交登录后被导航到主页,则脚本在尝试实例化登录页面页面对象时将会失败。返回新的登录页面(驱动程序);} //从概念上讲,登录页面为用户提供了能够使用用户名和密码"登录"//应用程序的服务。公共主页loginAs(字符串用户名,字符串密码){ //输入用户名、密码提交登录的页面对象方法已经定义过了,在此不再赘述typeUsername(用户名);键入密码(密码);返回提交登录();} } 17.什么是页面工厂设计模式?实际上是官方给出的爪哇岛页面对象的工厂模式实现。

  18.怎样去选择一个下拉框中的值=xx的选项?使用挑选类,具体可以加群了解

  19.如何在定位元素后高亮元素(以调试为目的)?使用爪哇岛描述语言将元素的边界或者背景改成黄色就可以了。

  20.什么是断言?可以简单理解为检查点,就是预期和实际的比较

  如果预期等于实际,断言通过,测试报告上记录及格

  如果预期不等于实际,断言失败,测试报告上记录失败

  21.如果你进行自动化测试方案的选型,你会选择哪种语言、java、js、python还是露比?哪个熟悉用哪个

  如果都不会,团队用哪种语言就用那种

  22.在pageObject的设置模式下,需要给位于Page的方法添加断言吗?一般不要,除非你想判断页面加载是否正确。

  一般不做断言

  23.在PageObject的设计模式中,如何实现页面跳转?返回另一个页面的实例可以表示页面跳转。

  //登录页面允许用户提交登录表单公共主页submitLogin() { //这里是唯一提交登录表单并期望目的地是主页的地方。//应该为单击登录但预期登录失败的实例创建一个单独的方法。driver . find element(loginButtonLocator)。submit();//返回表示目标的新页面对象。如果登录页面//去了别的地方(例如,一个合法的免责声明),那么改变这个方法的方法签名//将意味着依赖于这个行为的所有测试都不能编译。返回新主页(驱动);} 24.自动化测试用例从何而来?手动用例的子集,尝试

  而简单需要反复回归。

  稳定,就是不要变动太频繁。

  核心,优先覆盖核心功能

  25.你认为自动化测试最大的缺陷是什么?实施成本高

  慢慢跑。

  需要一定的代码能力及时维护。

  26.什么是分层测试?展示幽默的服装。

  27.27.webdriver可以用于接口测试吗?别担心,你不会的。

  28.28.selenium可以调用js对dom对象进行操作吗?selenium可以直接调用js实现dom对象吗?

  是

  29.29.selenium可以将鼠标滚轮操作发送到页面吗?selenium能发出鼠标滚轮的动作吗?

  不能

  30selenium可以模拟拖拽操作?selenium支持拖拽动作吗?

  能

  31.31.selenium在下拉列表中选择选项时,要操作的对象的标签是什么?selenium在Selenium中选择选项时,DOM对象应该是什么标签?

  挑选

  32.selenium上传文件。被操作对象的类型属性是什么?当Selenium上传一个文件时,DOM对象的类型值应该是什么?

  文件

  最后:

  欢迎关注微信官方账号:程序员感性之门,获取216页pdf文档的Python自动化测试工程师核心知识点汇总!

  这些资料的内容都是面试时面试官必须要问的知识点。该章包含多个知识点,包括基础知识、Linux essentials、Shell、互联网程序原理、Mysql数据库、包捕获工具专题、接口测试工具、高级测试-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试的高级持续集成、测试架构开发和测试框架、性能测试、安全测试等。

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

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