首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
云淡风微
重庆理工大学 测试工程师
发布于重庆
关注
已关注
取消关注
@是小婷婷吖:
测试秋招八股文集锦——自动化测试实战(基础篇)
前言:写自动化实战原由 上篇关于线程进程的文章最后,我让朋友们留言下篇想看的文章,呼声最高的是Linux、测试用例设计,还有让我眼前一亮的游同学等的留言:"希望看到自动化实战,牛客这方面比较少",这留言很有说服力,让我无法拒绝。 今天午睡没睡着就一直在构思自动化测试内容,好家伙,这可是个大工程,为了让大家更快速的入门自动化测试,我打算按照【自动化基础篇】+【自动化实战篇】进行更新,理论与实战相结合。 Selenium自动化测试实战目录 一、什么是自动化测试?优缺点?适合自动化的测试场景?本文使用的测试工具? 二、selenuim相关基础知识 2.1 selenium简介 2.2 Selenium自动化测试环境搭建:firfox和chrome 2.3 使用selenium中的webdriver模块对浏览器进行操作 2.4 浏览器常用的操作 2.5 元素定位:是自动化测试核心部分 2.6 Xpath定位 2.7 Alter对话框处理—解决右击没办法用审查元素定位 一、什么是自动化测试?优缺点?适合自动化的测试场景?本文使用的测试工具? 1.1 自动化测试定义 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。 通常,用例评审后,由人执行测试用例,将得到实际结果与预期结果相比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。 1.2 自动化测试优缺点 优点: 对回归测试更方便。 这是自动化测试最主要的任务。回归测试工作量大,而自动化脚本和用例是设计好的,测试期望的结果也可以预料,将回归测试自动化可以极大的提高效率缩短回归时间。 可模拟真实情况。 比如模拟并发上千用户测试系统的负载量,使用自动化测试工具可以模拟多用户的并发过程。 减少人为的错误: 不存在执行过程中人为的疏忽和错误,测试设计决定了测试的质量,可以降低减少人为造成的错误。 测试具有一致性和可复用性及测试用例的复用。 缺点: 人员技术要求高 需要额外的时间部署维护 自动化测试工具本身是一个产品,在不同的系统平台或硬件平台可能会受影响,在运行时可能影响被测程序的测试结果。 无法像人一样进行主观判断,灵活处理各种异常情况 测试工具没有发现缺陷,并不能说明系统不存在缺陷,自动化测试是工具执行,没有思维,无法进行主观判断,对界面色彩、布局和系统的奔溃现象无法发现,这些错误通过人眼很容易发现。 1.3 适合自动化的测试场景 任务测试明确,不会频繁变动 软件需求变更少 项目周期长,测试脚本可复用 1.4 本文使用的测试工具 Selenium:是一个用于web应用程序测试的工具, 支持多平台、多浏览、多语言去实现自动化测试。 二、 selenuim相关基础知识 2.1 selenium简介: 开源免费软件; 支持主流浏览器:FireFox、Chrome、IE; 跨平台:windows、linux、Mac; 多语言:java、python、Ruby、Php、JS; 对web支持良好,丰富简单的API; 2.2 Selenium自动化测试环境搭建:firfox和chrome 2.2.1 安装Selenium 安装Python,并配置环境变量; 安装pip(目前安装python时自带pip就不用单独安装了); 安装Selenium:(直接命令安装:pip install selenium). 2.2.2 Firefox前端工具介绍 fireBug:FirFox浏览器下的一套开发类插件; 需下载,步骤:火狐浏览器—>开发者—>获取更多工具—>搜fireBug—>添加到Firefox—>安装 作用:查看页面上的元素,从而根据其属性进行定位。 步骤:右击"添加到Firefox"—>使用FireBug查看元素 2.2.3 安装Chrome浏览器webdriver: 安装Chrome浏览器; chromedriver.exe 放到chrome浏览器安装目录的Application中,并把该目录放到计算机环境变量中; C:prog 2.3 使用selenium中的webdriver模块对浏览器进行操作 from selenium import webdriver #webdriver是浏览器驱动b= webdriver.Firefox() #打开浏览器b.get('http://www.baidu.com') #打开一个百度网页'''判断url,title、找元素方式'''b.title,current_url #判断访问是否有效ele = find_element_by_id/name() #使用id或者name方法定位元素ele.clear() #清空值ele.send_keys(arg) #输入值b.back() #back eg1:使用selenium打开firefox浏览器 from selenium import webdriver #webdriver是浏览器驱动browser = webdriver.Firefox() #打开火狐浏览器browser.get('http://www.baidu.com') #打开百度网页browser.maximize_window() #网页最大化browser.quit() #关闭浏览器 eg2:使用selenium打开Chrome浏览器 from selenium import webdriver #引入webdriver驱动import timebrowser = webdriver.Chrome() #打开Chrome浏览器browser.get('http://www.baidu.com') #打开百度网页time.sleep(1)browser.title '百度一下你就知道' #测试打开的是否是百度网页browser.find_element_by_link_text("登陆").click() #定位登陆并点击browser.quit() #关闭浏览器 2.4 浏览器常用的操作 浏览器最大化:maximize_window() 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具结合,提升测试的灵活性及普遍适用性。 设置浏览器宽、高:set_window_size(480,800) 控制浏览器前进:forward() 控制浏览器后退:back() 刷新浏览器:refresh() 打开一个网站:get("http://www.baidu.com") 关闭当前标签页:close() 关闭浏览器全部标签页:Quit() 获取当前所有窗口句柄:current_window_handle 2.5 元素定位:是自动化测试核心部分 元素定位的意义: 网站页面有输入框、按钮、文字链接、图片、页面底部的文字,以及左侧的下拉框等,自动化要做的就是模拟键盘和鼠标来操作这些元素,或点击,或输入,或鼠标悬停等。 2.5.1 常用的页面元素定位方法: eg1:如下图所示,通过元素中带id或name的属性对元素进行定位 id或name是我们最常用的定位方式,因为大多数元素都有这个属性,通过这个属性使我们找一个页面上的属性变得相当容易。 action.find_element_by_id("suggest-align").click #使用id定位元素action.find_element_by_name("wd").click #使用name定位元素 2.5.2 元素操作方式 2.5.3 webdriver模块对浏览器进行操作:元素的定位 from selenium import webdriver #webdriver是浏览器驱动b= webdriver.Firefox() #打开浏览器b.get('http://www.baidu.com') #打开一个百度网页b.find_element_by_link_text('企业直通车') #linktext元素定位方法 ele1 = b.find_element_by_partial_link_text('直通班')#partial link text元素定位方法 b.find_element_by_css_selector() #css selector元素定位方法 xpath定位文件:///....@id count() lacal-name() 定位元素 2.6 Xpath定位 XML路径语言:用来确定XML文档中某部分位置的语言; Xpath用于在XML文档中通过元素和属性进行导航; Xpath是一个W3c标准; 对XML/HTML有一定的了解 Xpath节点类型: 元素,属性,文本,命名空间,指令处理,注释及文档 Xpath:通过路径表达式从XML文档中选取节点或节点设置 2.7 Alter对话框处理—解决右击没办法用审查元素定位 引入alter对象方法原因: 前面所学的元素定位方法为: 右击—>审查元素 然后根据xpath,cs,id等方法定位 find_element_by_id find_element_by_xpath find_element_by_cs_selector find_element_by_name 但有的alter对话框,是用JS生成的对话框,右击没办法审查元素。因此使用Alter对象可以解决这个问题。 Alter对象: from selenium import webdriverd = webdriver.Firefox()d.get(r'c:UserwtwDesktop estalter.html') #打开js写的html脚本d.find_element_by_id('alter').click() #定位alter并点击alter = d.switch_to_alter() #转切到alter,即会出现对话框alter.text #编写alter中的文本 ‘I am an alter box’alter.driveralter.accept #确认 三、写在最后 每天下班后写文章有点吃不消了 [牛泪],如果你们有发现错误或者任何技术问题,辛苦你们及时帮我提出并指正哦~我会接受批评并改正的~~~~ 因为文章也是写给我自己看的,我是小菜鸡,也是一个边记录边学习的过程,把以前学习的内容做个汇总整理,也算是给以前的自己一个交代吧。 另外祝福大家都能顺利喜提offer[offer喷雾]
点赞 65
评论 19
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-31 12:20
厦门大学 ETL工程师
Vibe Coding开发前的 7 个关键步骤
这两天我Vibe Coding了一个项目,纯vibe那种,,一行代码都没有写。理解了很多Vibe Coding新手遇到的问题:AI写代码,改来改去越改越乱,最后项目直接崩了。 反思了一下自己Vibe Coding的过程之后,我清空了AI写了两个小时的代码,从头再来,这次就十分顺利地将项目开发完成。其实问题不在AI,而在于跳过了最重要的准备环节。就像盖房子,没有图纸就开工,盖到一半发现门窗位置不对,只能推倒重来。 所以,在让AI写第一行代码之前我们要做好些必要的准备工作。 打开 Claude或者 ChatGPT,跟它聊聊产品想法。按照这7个步骤,一步步来。 第一步:把想法聊清楚 把你的想法完整地...
你都用vibe codi...
点赞
评论
收藏
分享
03-26 19:16
蚌埠坦克学院 嵌入式软件开发
长的好看有些岗位确实容易被录用
在现实求职中,外在形象在某些岗位上确实会带来一定优势。比如需要频繁对外沟通、代表公司形象的岗位,用人单位往往更看重整体气质与第一印象,因此长相出众的人更容易获得面试机会甚至录用。不过,这种优势通常只是“加分项”,而不是决定性因素。真正能够让人长期立足的,还是专业能力、工作态度以及持续学习的能力。如果仅依赖外表,很难在竞争激烈的环境中走得长远。所以可以承认外在带来的现实影响,但更重要的,还是不断提升自己的实力,让机会不仅因为外表而来,更因为能力而留下。
长得好看会提高面试通过率...
点赞
评论
收藏
分享
03-23 15:07
天津城建大学 Java
28届双非本简历求锐评
想先找个小厂
点赞
评论
收藏
分享
03-19 10:57
已编辑
百度_Java后端开发(实习员工)
27届首个耐挂王出现
挑战全网最惨27届应届生。十几场面试全挂,道心破碎,后续不打算面了,先调整一下心态了。金三银四感觉和双非无关
李橙子:
这是只向往大厂的牛马啊
点赞
评论
收藏
分享
03-29 00:21
江南大学 算法工程师
AI 真能替代人类吗
xdm,我今天突然乐观了。 前两天一哥们私聊我,问要不要加入他的初创团队,做兼职。哥们对自己的项目非常的自信。大意是他做产品,负责调研市场,出方案,我干其中一部分活,做完项目之后挂平台卖,按成交量分成。画了一张非常大的饼:现在有完善的方案,我们只需要每天3-5小时,大概5天就做成一个项目,卖出一单后分成至少1w。 算日薪很高,对不对? 在我看到他的方案之前一切都正常。方案是邮件发给我的,字数还挺多,分工和步骤都挺明确的——好了,这就是全部的优点了。 他熬夜写出来的这个方案的可行性几乎为0。他想要训练一个模型,但市面上根本没数据,他的星期项目团队也当然是没有实验室来获取数据;他想验证模型鲁棒性,...
AI求职实录
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我放弃互联网大厂了。。
3433
2
...
Vibe Coding开发前的 7 个关键步骤
3169
3
...
字节实习一、二、三、HR面面经
2884
4
...
双非前端字节一面面经(难度 plus ultra 版)
2561
5
...
我招了!当年就是被招行这么招进去的
1730
6
...
京东零售平台产品与研发中心一面
1529
7
...
如何把面试主动权握在手里?Ai岗面试焚诀!
1429
8
...
美团后端暑期实习一面
1354
9
...
美团暑期二面
1345
10
...
在工作中,如何正确使用vibe coding来增效?
1345
创作者周榜
更多
正在热议
更多
#
你觉得大几开始实习最合适?
#
9646次浏览
94人参与
#
实习生的蛐蛐区
#
921489次浏览
4698人参与
#
厦门银行科技岗值不值得投
#
12806次浏览
306人参与
#
你见过哪些招聘隐形歧视?
#
6744次浏览
67人参与
#
毕业季等于分手季吗
#
59293次浏览
680人参与
#
面试被问到不会的问题,你怎么应对?
#
8791次浏览
71人参与
#
招商银行数字金融训练营
#
69005次浏览
788人参与
#
面试吐槽bot
#
182216次浏览
865人参与
#
好好告别我的学生时代
#
138169次浏览
1554人参与
#
25届秋招公司红黑榜
#
328775次浏览
1292人参与
#
小厂实习有必要去吗
#
87352次浏览
417人参与
#
租房前辈的忠告
#
380364次浏览
7491人参与
#
你都用vibe coding做过什么?
#
4061次浏览
164人参与
#
做完笔试后你收到面试了吗?
#
9505次浏览
82人参与
#
Vibe Coding 会干掉初级岗位吗?
#
7919次浏览
131人参与
#
实习转正进行时
#
168434次浏览
1064人参与
#
AI Coding实战技巧
#
2925次浏览
77人参与
#
你现在一天AI几次?
#
2970次浏览
60人参与
#
牛友の3月总结
#
13218次浏览
122人参与
#
如果人生可以debug你会改哪一行?
#
3542次浏览
75人参与
#
大厂实习和小厂实习最大的区别是什么?
#
17649次浏览
113人参与
#
百度工作体验
#
319725次浏览
2239人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务