自动化测试面试HR的问题,你也可分分钟通过
一.自我介绍一下
这个应该大家都会,我也就不浪费时间
二.说说你的自动化框架是怎么实现的
python+selenium+excel文件用数据驱动 具体怎么实现的,先写一个base文件做基础负责调用实际方法,还有数据的读写;然后往上有专门封装UI操作的method文件,和读写关键字文件的方法文件,再上层是一些复杂操作和逻辑的工具单独再封装成独立的文件。
三.你是怎么理解post和get的
post是往服务器发送数据, get是请求数据,安全性较低
四.说说你测接口是怎么做的
拿到cookie和相应api文档内的参数做请求, 用python的request库或者postman, 而我postman就填写查询参数,然后请求头里面的cookie调用就行了
五.那你完整的说一下你做这个接口测试的流程
登陆后拿到token,然后用token带参数去请求接口
而我平时在做的时候都是打开开发模式,直接在header里面找到一长串token复制下来使用,也没去研究是request还是response里面去传token,还是拿token。
上面是我在面试遇到过,但我还给大家总结其他面试可能会遇到的。
说出linux常用命令,一般要30到15个的样子:
基础命令:
cd 切换目录
ls -l列出文件详细信息
ls -a列出当前目录下的所有文件
touch创建文件
mkdir 创建目录
echo echo “内容” > mook hello 创建带有内容的文件 ;
cat 查看内容文件
cp 拷贝
mv移动或重命名
rm -r 递归删除;
rm -f 强制删除
wc 统计文本中行数、字数、字符数
网络命令:curl利用URL规则在命令行下工作的文件传输工具 curl www.baidu.com
netstat:netstat 显示网络状态信息
telnet:用于登录远程主机 telnet 127.0.0.1
系统命令:
ping:测试网络连通
man:查看帮助
kill:杀死进程 top:动态显示当前耗费资源最多的进程信息
ps:显示瞬间进程状态
df:查看磁盘大小
df -h:带有单位显示磁盘信息
OSI 7层模型指的是哪些内容:
1、物理层:建立、维护、断开物理连接
2、数据链路层:逻辑连接、硬件地址寻址、差错校验
3、网络层:逻辑地址寻址、不同网络之间的路径选择、IP
4、传输层:传输数据的协议,TCP/UDP
5、会话层:建立、管理、终止会话,本地与远程主机的会话
6、表示层:数据的标示、安全、压缩、JPEG、ASCII等
7、应用层:与最终用户的接口,HTTP/HTTPS/SMTP等
Http协议中get/post的区别:
1、功能差异:get:去服务器取东西 post:从客服端上传东西用POST
2、数据传输:get把传输数据放在URL所带的参数里面,post放在body里面
3、安全性:get没有post安全性高,携带的参数数据会被发现,而post对用户不可见
tcp和 UDP的区别:
TCP:面向连接、传输可靠、应用场合:传输大量的数据、速度慢
UDP:面向非连接:如QQ/微信的消息,离线后再登陆可以收到消息、传输不可靠、少量数据、速度快
TCP连接三次握手具体过程
TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。
socket建立连接的过程:
1、服务器建立监听,socket,bind,listen
2、客服端发送请求,connect,send
3、连接确认,accept,response
进程和线程的区别?
进程:独立数据空间,进程间是不共享资源数据,系统调度
线程:执行程序的最小单元,进程内线程间共享资源,系统调度
PS:一个进程可以有多个线程,多个线程可以并发执行
进程有哪些状态?
就绪状态:已获取处理器以外所需资源,等待分配处理器资源
运行状态:占用处理器资源运行,此状态进程数<=CPU数
阻塞状态:进程等待某种条件,在条件满足之前无法执行
进程同步和互斥的区别?
互斥:
1、某一资源同时只允许一个访问者对其进行访问
2、具有唯一性和排他性
3、互斥无法限制访问者对资源的访问顺序,即访问是无序的
同步:
1、基于互斥、经其他机制实现访问者对资源的有序访问
2、大多数情况下,同步已经实现了互斥,写入资源是互斥的
3、少数情况下,可以允许多个访问者同时访问资源
进程间通信都包括哪些?
管道:半双工通信方式,数据单向流动,父子进程间
命名管道:半双工通信方式,无亲缘关系进程间通信
信号量:是计数器,锁机制,控制多进程多资源访问
消息队列:消息链表,存在内核中由消息队列标识符标识
信号:比较复杂的通信方式,通知进程某个事件已经发生
共享内存:映射一段能被多个进程可访问的内存
进程的调度算法都有哪些?
先来先服务、短作业优先、时间片轮转调度算法、高响应优先、优先权调度算法、多级队列调度算法
死锁产生的原因:
1、资源竞争
2、进程推进顺序不当
必要条件:互斥、不剥夺,请求与保持,环路等待
页面置换算法有哪些?
最佳置换算法、先进先出置换算法、最近最久未使用置换算法、Clock置换算法(最近未使用算法)
makefile的作用是什么?
1、定义规则,指定哪些文件先编译、后编译、重新编译
2、makefile的好处,自动化编译
3、makefile 需要make工具解释执行
什么是ANR?
ANR:应用无法响应
Activity的最长执行时间是5S
用户可以选择等待或者强行关闭
安卓常见的五种布局:
FrameLayout:框架布局
LinearLayout:线性布局
AbsoluteLayout:绝对布局
RelativeLayout:相对布局
TableLayout:表格布局
安卓中动画有哪几种类型:
Tween动画,组件移动、缩放、透明度的变化
Frame动画,通过顺序播放来实现,类似电影
Adb基本命令:
app安装:adb -p 手机ip地址(192.168.0.203:5555) install 包APK的位置
app重复安装:adb -p 手机ip地址(192.168.0.203:5555) -r install 包APK的位置
app卸载:adb -p 手机ip地址(192.168.0.203:5555) uninstall 包名(cn.comein)
查看手机是否连接:adb advices adb connect 192.168.0.203:5555
Selendroid是instrumentation的一次封装;
Selendroid四大组件:
Selendroid Client:Webdriver +移动特性的实现
Selendroid Server:一个Instrumentation APK
AndroidDriver-App:一个WebViewActivity,即浏览器
Selendroid-Standalone:大总管,负责准备环境
Robotium基于Instrumentation进行封装,实现的Android测试框架
封装了Solo类库,提供自动化测试API
由于是基于Instrumentation,测试时需要源码
Appium的理念:不需要APP源码;不局限于语言和框架;接口统一,不需要重复开发;必须是开源的
C/S架构,Appium核心是一个Web服务器
Session:客户端初始化session与服务器交互
Desired Capabilites:初始化时的键值对组合
Appium Server:操作与驱动手机的
Appium Client:支持多语言调用
Appium环境包括哪些:
Android SDK/JDK/Appium/
Pycharm Python环境
库:Selenium/Appium-Python-Client
Appium支持哪些开发语言:Java/javascript/PHP/Python/Ruby/C /perl/Object C
App初始化时的配置:
platformName:目标设备平台Android/ios
platformVersion:目标设备的平台版本
deviceName:目标设备名称
appPackage:App包名(Android)
appActivity:App Activity名称
automationName:自动化驱动类型Selendroid/Appium
unicodeKeyboard:是否使用Appium输入法
resetKeyboard:恢复默认键盘
单元测试unittest测试框架:
1、TestFixture:SetUp: TestCase: TearDown:
2、TestCase
3、TestSite
4、TestRunner
数据驱动DDT:
黑盒测试-功能测试
数据驱动单元测试:为数据源中每行重复进行一种单元测试
常用情况是使用多个输入值测试API
效果:使用多个数据运行一条用例,使其表现为多条用例
原理:通过Python的 ,装饰每条用例。
以上仅供参考和借鉴,希望对你有所帮助! 小枫文章整理不易,欢迎各位朋友点赞!
本文地址:https://blog.csdn.net/weixin_49346599/article/details/107368774