• 0
  • 1
分享

一、找不到元素可能出现的原因:

1、元素表达式错误;

2、不在指定的frame;

3、等待时间短,页面加载速度慢;

4、执行脚本打开了新的页面,不在指定的窗口中。

二、优化web自动化测试效率

避免使用强制等待,会浪费等待的时间

三、PO模式的理解

1、PO模式实现代码的复用性;

2、提高了代码的可维护性、可读性;

  • 将业务逻辑和测试逻辑相分离;

  • 当页面发生变化的时候,测试逻辑不需要发生改变,只需要改动业务逻辑;

  • 当测试逻辑发生变化的时候,业务逻辑不需要变化,只需要改动测试逻辑。

3、页面方法一般是返回的是self或者其他页面;

4、assert 断言不要写在页面当中;

5、如果可能有多种情况的返回值,封装多个方法(行为)。

四、稳定性和效率的问题

1、优先考虑稳定性;

2、如果提升效率会造成稳定性影响,先不考虑提升效率;

五、验证码的问题

1、开发关掉;

2、开发设置万能验证码。

六、什么样的项目适合做自动化测试

1、需求比较稳定、不会频繁变更的;

2、项目周期比较长(优惠活动,中秋、端午,功能是一次性,花半个月写了一次代码);

3、代码复用性高,可以跨平台、跨系统;

4、流程设计比较规范;

5、经常需要的回归测试。

七、pytest和unittest的区别

1、pytest有自动收集用例的的功能;

2、pytest有上千种插件,自己的插件系统;

3、pytest有失败重新运行的功能;

4、pytest有非常灵活的测试夹具、fixture、setUp、tearDown;

5、pytest和unittest是完全兼容的。

八、影响web自动化的稳定性的因素有那些?

1、后端服务,加载一些静态页面,有时渲染的比较慢

九、自动化测试用例的流程(写代码的过程)

1、进行手工测试,熟悉流程、元素定位表达式准备好;

2、形成测试步骤;

3、转化为代码版的步骤;

4、写代码。

十、测试框架大概结构

1、common,公共方法层:封装一些常用的方法、日志配置文件;

2、config,配置层:日志级别、mysql数据库信息、账号信息;

3、data,数据层:测试用例;

4、img,图片层:页面报错截图;

5、logs,日志文件层:脚本运行日志;

6、output,测试报告层;

7、pages,业务逻辑层;

8、testcases,测试逻辑层;

9、main文件:脚本入口。

十一、 请列举出web自动化中你常用的断言(验证)方式

1、根据页面的url断言(验证跳转后的页面是否正确);

2、根据页面的标题(验证跳转后的标题是否一致);

3、根据页面的提示信息(充值成功后,跳转充值成功的文字);

4、根据某些元素的显示(跳转后的用户名)。

十二、UI自动化测试用例如何设计?

UI自动化测试用例是从手工测试用例中提取出来的,跟手工测试相比,自动化测试用例更加注重用例的严谨性;

1、优先选取覆盖产品核心功能的用例;

2、从成本考虑,不要选择流程过于复杂的用例;

3、选取的用例可以是重复执行,繁琐的部分,比如字段的验证、提示信息的验证;

4、优先实现正向的测试用例,反向情况一般情况复杂,数量多,耗费时间。

十三、为了提高UI自动化脚本的稳定性,你有做了哪些工作?

1、元素定位表达式,尽量选择相对路径的xpath表达式;

2、查找元素优先使用显性等待;

3、用例与用例之间尽量避免产生依赖;

4、尽量保证单独的测试环境,避免其他同学同步运行;

5、脚本运行失败后加入重运行机制,提高用例的稳定性。

十四、利用PO模式

将业务逻辑和测试逻辑相分离,当页面发生变化的时候,不需要改变测试代码,改变页面代码即可;当测试逻辑发生变化的时候,不需要改动页面代码,改变测试代码即可;

测试数据和用例分离,单独维护测试数据。

十五、ui自动化实现你认为最困难的地方是什么

1、稳定性有时候不高;

2、往往在提升效率的时候,会影响稳定性,稳定性排在第一位;

3、需求经常变动,维护成本高;

4、特殊元素难以定位;

5、脚本不稳定。

十六、请描述下你所设计的Web自动化框架的特点?

1、通过pytest单元测试框架组织管理测试用例;

2、引入page object思想对用例进行分层设计,业务代码和测试代码相分离;

3、页面元素共性操作提取:basepage封装,实现实时执行日志输出,异常实时捕获,用例失败截图;

4、测试用例中,使用数据驱动;

5、logging日志引入,问题定位;

6、allure报表,用例失败后截图;

7、用例失败重试,提高用例稳定性;

8、集成到jenkins中,每天\小时构建多次。

十七、如何做 UI 自动化?

1、在编写脚本前,我们会对需求进行评估,确认这个需求可不可以实现 UI 自动化;

2、如果可以的话,从手工用例中就筛选出能实现自动化测试的用例,一般作用于主流程测试、回归测试;

3、我们是用 selenium 工具来实现自动化,采用 python 脚本语言,pytest测试框架和PO模式搭建的UI自动化测试框架;

4、比如,充值这个功能的脚本,我们是这样做的:首先,根据搭建好的测试框架,测试框架包含 testcase,主要用来存放测试用例代码,report 用来存放测试报告;

5、其次我们会把用例中公共的部分封装到 common 中;

6、最后用 run.py文件运行项目自动化用例;

7、脚本调试完后,我们会用 jenkins 持续集成工具,设置脚本每天晚上 10 点跑一遍脚本,跑完后生成 html 格式的自动化测试报告并自动发送邮件。

十八、web测试框架有什么可以优化的地方吗?

常用的方法,或者代码量比较多的方法,可以封装成一个公共方法,减少代码的书写、增强代码的可读性和可维护性

十九、框架中实现了那些分层?

页面逻辑和测试逻辑分层;

测试数据和测试代码分层;

元素定位locator和方法分层;

basepage公共方法的分层。

二十、你的自动化用例的执行策略是什么

1、自动化测试用例是用来监控的,再次目的下,我们就把自动化测试用例设置成定时执行的,每30分钟执行一次,在jenkins上创建一个定时任务即可;

2、必须回归的用例。有些测试用例,在产品任何变动上线之前都需要回归测试;

3、不需要经常执行的测试用例,我们没有必要一直回归执行,毕竟是有时间消耗的,有些时候非必要的业务不需要经常回归;

4、不需要经常执行的测试用例就需要人工执行,在jenkins创建一个任务,需要执行的时候人工构建。


作者:YZL40514131

原文链接:https://blog.csdn.net/YZL40514131/article/details/123930162

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •       相信很多测试的小伙伴也都遇到过这样的情况,往往产品上线,只要出现bug,成为“背锅侠”。      测试人员在工作中经常打交道的肯定是开发和产品经理,开发将程序写出来,测试员进行测试。软件测试完成后,产品才能生产,在这过程中,难免会遇到软件会出现问题的情况。那么你肯定听过这些话:“这么明显的bug你都测不出来吗?”“为啥这个功能还没测完就上线了?”“研发时间不够,你压缩一下测试时间”“这个bug和开发没关系,注意看需求”      听到这些话,相信你分分钟高血压,这个锅不知...
            0 0 2003
            分享
          • 一、输入框1、字符型输入框:(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、(5)安全性检查:输入特殊字符串(null,N...
            1 0 1937
            分享
          •        记得那是2年前,闲来无事简单游览公司关于人事部分相关事宜介绍,无意间看到公司在职员工考取《信息系统项目管理师》资格证书后,高级每月可获得600元工资之外奖励、中级为300元,对于爱钱如命的我来说,顿时吸引了眼球,引起了我的好奇,开启了我与之相生相克历程。  《信息系统项目管理师》是什么?考试难度大么?  《信息系统项目管理师》是软考中的一种,分为高级和中级,其中高级比中级在考试科目上比中级多出了一项论文(不要小看这一篇论文,这是真正体现你学习水平的一关),在选取自己是考高级和中级的选择上,个人建议还是可以直接报考高级(一来可以省去考完中级再...
            0 0 2714
            分享
          • 本文实现一个WebDriver测试脚本,介绍WebDrive的常用命令、UI元素定位的策略以及在脚本中的使用,还有Get命令。你将学到:· 脚本创建· 代码走查· 测试执行· 定位Web元素· 定位符类型及其语法· 总结一、脚本创建脚本创建部分仍然使用之前创建的“Learning Selenium”项目和“gmail.com”作为被测试应用程序(AUT)。场景:启动浏览器,打开“Gmail.com”。验证页面标题并打印验证结果。输入用户名和密码。单击登录按钮。关闭web浏览器。步骤1:在“Learning Selenium”...
            1 2 3233
            分享
          •   测试负责人经常要做的事情之一就是安排需求。那么如何合理分配这些需求呢?当然,它不是给任何自由的人。需求划分也是一种艺术活动。  首先需要与业务、项目经理、开发确认背景、目标、变更点、影响范围、计划等。  其次要结合这群学生的考试计划,了解大家目前的需求和进度。如果是紧急重要的需求,尽量给熟悉这个业务和模块的同学优先,保证功能的交付和上线的稳定性。  如果需求不急,可以和其他同学一起练手。一开始可以带旧带新,就是熟悉的同学会和不熟悉的同学一起考,重点地方可以控制。当所有的学生都开始了,你就不需要以旧换新了。  你可能会想,如果需求很迫切,而熟悉这个功能的同学都是工作满满,没有精力去满足新的需...
            0 0 929
            分享
      • 51testing软件测试圈微信