App/Web自动化的面试题

news2024/9/28 21:24:11

App/Web自动化的面试题(详细答案自己百度哈,红色的表示app自动化专有问题、绿色表示web自动化专有的问题,未标色的表示共有的问题)
备注:一般面试的时候是结合简历上的项目一步一步深入进行问的问题,只要你实际做过一个项目的,加上自己面试准备下,问题不会太大

1、目前主流的APP自动化测试框架,各个自动化适合的语言
参考点:appium macaca、robotium、UiAutomator
2、你对单元测试框架了解多少
参考点:unittest、testng、nose
3、app自动化,简述一下这几种自动化框架的异同
在这里插入图片描述

4、定位方式有哪几种?一般如何选择
参考点:ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector
5、UI自动化能发现多少Bug
参考点:UI自动化的目的不是为了发现多少Bug,主要是为了减轻重复的基础操作和线上监控的作用
6、monkey属于自动化吗?
参考点:monkey不属于严格意义上的自动化,monkey是生成用户或系统的伪随机事件,在屏幕上触发随机点击事件
7、谈谈你们的自动化是怎么搭建的?
8、你们在自动化过程中遇到了哪些问题
9、你们一般对什么case会进行自动化,自动化一般在哪个阶段进行
参考点:主要是主流程中比较容易实现的进行自动化,一般在集成阶段进行该版本的自动化监控,平常的话会一直跑线上监控的
10、robotium可以跨进程吗?你能简述一下吗?
11、app自动化你们一般用什么工具定位元素?
参考点:Uiautomatorview和appium的客户端
12、您需要一台服务器机器来运行Appium上的测试吗?
参考点:不,您不需要服务器机器在Appium上运行测试。 Appium促进了一个2层架构,其中测试机连接到运行Appium的测试服务器并自动化整个事情。您可以在运行测试的同一台机器上运行Appium。
13、使用Appium可能遇到的错误是什么?
参考点:
错误1:需要以下所需的功能,但不提供:设备名称,platformName
错误2:找不到adb。请使用Android SDK根目录路径设置ANDROID_HOME环境变量
错误3:openqa.selenium.SessionNotCreatedException:无法创建新的会话
错误4:如何在移动应用程序中查找DOM元素或XPath?
详情见:https://www.jianshu.com/p/53d8a0f0e35c
14、简述Appium的原理?
参考点:Appium是使用Node.js平台编写的“HTTP Server”,并使用Webdriver JSON线协议驱动iOS和Android会话。 因此,在初始化Appium Server之前,必须在系统上预先安装Node.js 当Appium被下载并安装时,在我们的机器上设置一个暴露REST API的服务器
它从客户端接收连接和命令请求,并在移动设备(Android / iOS)上执行该命令,
它响应HTTP响应。 再次,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。 框架像Apple Instruments for iOS(仅适用于Xcode 3.0或更高版本的OS X v10.5及更高版本)适用于Android API的Google UIAutomator 16级或更高版本
Selendroid for Android API等级在15以下。
15、目前你们用的自动化工具版本号是多少?
16、元素等待的3种方式简述一下,并且你平常用的是哪一种?
17、断言是什么
18、测试报告你们用的是什么框架?
19、app自动化 如何控制在多台设备上执行?
20、selenium的原理?
21、selenium 如何控制多个浏览器执行?
22、robotframework是什么?和selenium的关系是什么
23、你们目前用的py版本是多少的?2.X和3.X的异同?
24、selenium中如何保证操作元素的成功率?
参考点:- 添加元素智能等待时间 driver.implicitly_wait(30)

  • try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种
    -Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的。但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。当然如果开发人员开发不规范,我们在定位元素的时候尽量使用相对地址定位,这样能减少元素定位受页面变化的影响。只要我们元素定位准确,就能保证我的每一个操作符合我的预期
    25、如何提高selenium脚本的执行速度?
    参考点:如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。所以不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。
    我们可以从以下几个方面来提高速度:
    一,减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。
    二,中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。
    三,在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。
    四,配置testNG实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。
    26、selenium2.X和3.X的异同?
    27、什么是持续集成?
  • 持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程。集成过程中可能会爆发大量的问题,因此集成过程需要尽可能小而多,实际上持续集成讲的是不断的去做软件的集成工作。持续集成,最简单的形式是包括一个监控版本控制(SVN等等)变化的工具。当变化被发觉时,这个工具可以自动的编译并测试你的应用
    28、什么是page object设计模式?
    通过分离测试对象和测试脚本的抽象来实现的
    29、selenium中下拉框怎么定位?
    30、你觉得自动化测试最大的缺陷是什么?
    参考点:-不稳定
    -可靠性
    -不易维护
    -成本与收益
    31、Selenium是否支持桌面应用软件的自动化测试。
    Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的。
    32、BDD是什么?你了解多少?TDD是什么?
    参考点:BDD:行为驱动开发(Behavior Driven Development)
    TDD:测试驱动开发(Test-Driven Development)
    33、selenium是否可以直接读取Excel表中测试用例,来执行相关测试
    参考点:可以的,需要借助第三方库
    34、Selenium有哪些组件?
    最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有
    remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HPE: smart storage: hpssacli:

文章目录参考命令实例问题参考 https://cmdref.net/hardware/proliant/hpssacli.html https://support.hpe.com/connect/s/softwaredetails?languageen_US&softwareIdMTX_9849e3ae326f43f2825d92dce0 https://community.hpe.com/hpeb/attachments/hpeb/itrc-264/148204/3…

SpringBoot—JPA和Mybatis多数据源配置和使用

JPA多数据源配置 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apa…

VM 增加硬盘

1、使用“fdisk -l”的命令查看当前系统的分区&#xff08;如果刚才设置VMware--“设置”的时候运行了系统&#xff0c;则会出现下图情况&#xff1a;没有识别到新的磁盘即sdb&#xff09;&#xff0c;解决办法&#xff0c;重启虚拟机&#xff1a;shutdown -r now 2、 输入 # …

【Python_Selenium学习笔记(八)】基于Selenium模块实现滑块验证码破解

基于Selenium模块实现滑块验证码破解 前言 有些网站页面会在 访问时进行滑块验证&#xff0c;针对此问题&#xff0c;此篇文章中会介绍如何基于 Selenium 模块实现滑块验证码的破解 &#xff0c;并以模拟登录豆瓣网&#xff0c;破解其滑块验证码 为例进行讲解。 正文 1、滑…

需要买apple pencil吗?ipad第三方电容笔了解下

第一款ipad早在诞生于十年前&#xff0c;并被作为一款平板电脑使用&#xff0c;其性能十分出色。随着IPAD的不断更新换代&#xff0c;IPAD已经被越来越多的人接受了。其中&#xff0c;iPad的附属配件起到了很大的作用&#xff0c;就像今天要介绍的电容笔&#xff0c;它是我们进…

Python接外包养无敌可爱的她,每天都随便花~

人生苦短&#xff0c;我用python 女友好不容易放假&#xff0c;她带着我花花花的样子真的很迷人~ python 安装包资料:点击此处跳转文末名片获取 不为什么 我的女友我来宠&#xff01; 作为一个程序员&#xff0c;要有会用自己的技术创造价值的自觉~ 今天来给大家展示一下用py…

第七章 法律行为与法律意识

目录 第一节 法律行为 一、 法律行为的含义与特征二、 法律行为的结构 &#xff08;一&#xff09;法律行为的内在方面 动机目的认知能力 &#xff08;二&#xff09;法律行为的外在方面 行动&#xff08;行为&#xff09;手段结果 三、法律行为的分类 第二节 法律意识 一、法…

【WebRTC技术专题】大势所趋,迈向认识 WebRTC 的第一步(2)

每日一句 人生的挑战&#xff0c;无处不在&#xff0c;满怀信心&#xff0c;轻装上路&#xff0c;明天永远是充满希望的战场。 承接上文 承接上文的内容介绍完相关WebRTC技术的概念和发展历程后&#xff0c;开始初步摸索一下相关WebRTC技术的功能和原理。&#x1f33a;【WebRTC…

【科普】一篇搞定发paper基本概念:SCI、EI、会议/期刊、分区、CCF、DOI、IF、h-index、及cs/ee常见会议:CVPR、GlobeCOM等

文章目录基础概念SCI、EI、CPCI&#xff08;ISTP&#xff09;论文类型&#xff1a;Journal、magazine、transaction、letter、 proceedingsDOI&#xff08;数字对象标识Digital Object Identifier&#xff09;IF 期刊影响因子(Impact Factor&#xff0c;IF)H指数 (h-index/h-fa…

时间序列 | MATLAB实现CNN-LSTM-Attention时间序列预测

时间序列 | MATLAB实现CNN-LSTM-Attention时间序列预测 目录时间序列 | MATLAB实现CNN-LSTM-Attention时间序列预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现CNN-LSTM-Attention时间序列预测&#xff0c;CNN-LSTM结合注意力机制时间序列预测。 模…

使用wait监听tomcat服务启动

文章的wait脚本素材会放在末尾 执行docker-compose.yml文件之后就有mysql的主服务器&#xff0c;还有从服务器&#xff0c;还有tomcat服务&#xff0c;在tomcat中部署一个crm项目&#xff0c;tomcat服务中我们添加了启动顺序&#xff0c; # 启动顺序 depends_on: - mysql…

低压接地系统:TN-C 、TN-S、TN-C-S、TT、IT

电力系统的接地直接关系到用户的人身和财产安全,以及电气设备和电子设备的正常运行。如何针对实际情况选择合适的接地系统,确保配电系统及电气设备的安全使用,是电气设计人员面临的首要问题。 根据 国际电工委员会(IEC)规定的各种保护接地方式的术语概念,低压配电系统按…

如何利用开源思想开发一个SEO友好型网站

当你对一个网站进行 SEO 优化的时候&#xff0c;不要期望你的努力能立即得到回报。耐心等待并更正内容营销策略&#xff0c;最终会发现你的网站很受用户欢迎。下面就教你如何利用开源思维开发一个SEO友好型网站&#xff01; 首先&#xff0c;你应该知道&#xff1a;93% 的网站…

修复开源VS Code 插件Trino Driver的三个小问题

前言 最近产品中使用到一款SQLTools的VS Code插件。该插件可以在VS Code中实现数据库管理&#xff0c;而且支持非常多的数据源类型&#xff0c; 官方的数据源类型有CockroachDB&#xff0c;MariaDB&#xff0c;MySQL&#xff0c;PostgreSQL&#xff0c;SQLite&#xff0c;Micr…

电脑录屏按哪个键?您可以这样操作!

案例&#xff1a;电脑按哪3个键&#xff0c;可以录屏&#xff1f; 【我平常喜欢使用快捷键在电脑上快速完成一些操作。最近接触到了电脑录屏&#xff0c;感觉使用它一系列的操作比较麻烦。想在这里问问小伙伴们&#xff0c;有没有使用快捷键成功操作过的朋友&#xff01;】 电…

【Linux】页表的深入分析

上一篇文章介绍了线程的基本概念 而本篇文章我们来深入理解一下, CPU再调度我们以往理解的进程和如今的线程都会涉及到的一个内容: 页表 文章目录深入理解页表 *页表的实际组成*什么是page&#xff1f;深入理解页表 * 在介绍进程时, 博主没有深入介绍过页表. 只是简单说了 页…

DAY 40 firewalld 防火墙

firewalld防火墙是centos7系统默认的防火墙管理工具&#xff0c;取代了之前的iptables防火墙&#xff0c;也是工作在网络层&#xff0c;属于包过滤防火墙。 支持IPv4、IPv6防火墙设置以及以太网桥支持服务或应用程序直接添加防火墙规则接口拥有两种配置模式&#xff1a;临时模…

【快乐手撕LeetCode题解系列】—— 环形链表 II

【快乐手撕LeetCode题解系列】—— 环形链表 II&#x1f60e;前言&#x1f64c;环形链表 II&#x1f64c;画图分析&#xff1a;&#x1f60d;思路分析&#xff1a;&#x1f60d;源代码分享&#xff1a;&#x1f60d;总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客…

了解oauth2.0

1 什么是 OAuth2.0 开发授权&#xff08;OAuth&#xff09;是一个开放标准&#xff0c;允许用户让第三方应用访问该用户在某一网站上存储的私密的资源&#xff08;如照片、视频、联系人列表等&#xff09;&#xff0c;而无需将用户名和密码提供给第三方应用。 OAuth 允许用户…

我的软件测试故事:成长、迷茫、奋斗

前言 测试工作6年&#xff0c;经历过不同产品、共事过不同专业背景、能力的同事&#xff0c;踩过测试各种坑、遇到过各种bug。测试职场生涯积极努力上进业务和技术能力快速进步过、也有努力付出却一无所得过、有对测试生涯前景充满希望认为一片朝气蓬勃过、也有对中年危机思考不…