随笔分类 -  UI自动化测试

自动化测试就是通过代码或者是工具模拟人的行为来进行对WEB(APP)来进行操作。
摘要:黑盒测试: 把测试的对象看成是一个黑色的盒子的,看不到里面内部的结构,是对软件的一种功能性的测试。 白盒测试: 就是把测试的对象看成是一个透明的盒子,能够看见被测软件的内部结构,是单元测试的一种形式,是针对程序的内部代码的一种测试形式。 灰黑测试: 它是介于黑盒测试与白盒测试中间,具体的来说就是测试 阅读全文
posted @ 2022-07-05 19:54 LaraCroft 阅读(158) 评论(0) 推荐(0)
摘要:软件测试 官⽅的定义为: 描述⼀种⽤来促进鉴定软件的正确性、完整性、安全性和质量的过程。 换句话说,软件测试是⼀种实际输出与预期输出之间的审核或者⽐较 过程 。 正确性:1、一个软件的正常功能2、一个软件的异常功能,也就是说的容错性 完整性: 1、需要验证(测试/考虑)到一个软件使用的各个方面(维度 阅读全文
posted @ 2022-07-04 22:19 LaraCroft 阅读(61) 评论(0) 推荐(0)
摘要:在前面已经很系统的学习了UI自动化测试的技术栈的知识体系,但是在维护的成本而言还需要考虑进一步的优化,就可以使用页面对象设计模式,它的优势具体可以总结为如下: 创建可以跨多个测试用例共享的代码 减少重复代码的数量 如果用户界面发生了维护,我们只需要维护一个地方,这样修改以及维护的成本相对而言是比较低 阅读全文
posted @ 2022-07-03 21:09 LaraCroft 阅读(148) 评论(0) 推荐(0)
摘要:在UI的自动化测试中,我们需要把测试使用到的数据分离到文件中,如果单纯的写在我们的测试模块里面,不是一个好的设计,所以不管是什么类型的自动化测试,都是需要把数据分离出来的。当然分离到具体的文件里面,文件的形式其实有很多的,这里主要说明JSON的文件和YAML的文件在UI自动化测试中的应用。 一、JS 阅读全文
posted @ 2022-07-03 20:34 LaraCroft 阅读(128) 评论(0) 推荐(0)
摘要:从软件架构的⻆度来说,测试最重要的步骤是在软件开发的时候介入比较好,所以在早期测试的介入,从软件经济学的⻆度上来说,发现的问题解决成本低,投入的资源比较少。因此,对一个测试的系统,开始最佳的测试就是源代码级别的测试,也就是单元测试阶段,这个过程也被成为白盒测试。 单元测试是最基本也是最底层的测试类型 阅读全文
posted @ 2022-07-03 20:17 LaraCroft 阅读(506) 评论(0) 推荐(0)
摘要:在UI的自动化测试中,需要使用JS来处理一些特殊的交互,比如针对浏览器的滑动操作,针对富文本的特殊处理,和针对只读属性的时间控件的处理。 下面通过实际的案例来演示具体应用: 一、浏览器的滑动 浏览器的滑动主要分为浏览器的向上和向下,以百度搜索引擎为例,搜索关键字后,想点击下一步的操作,但是下一步无法 阅读全文
posted @ 2022-07-01 20:13 LaraCroft 阅读(254) 评论(0) 推荐(0)
摘要:在UI的自动化测试中,有时候也会遇到键盘事件的操作,使用到的类为Keys,导入方式具体如下: from selenium.webdriver.common.keys import Keys 常用的键盘快捷键有crtl+c,crtl+v,crtl+x,crtl+a等,下面还是通过具体的案例来演示这部分 阅读全文
posted @ 2022-07-01 20:03 LaraCroft 阅读(37) 评论(0) 推荐(0)
摘要:在UI的自动化测试中,经常会由于网络加载慢的问题导致资源加载不出来,从而影响测试的效率,之前的处理方案是使用了time库里面的sleep()方法来休眠几秒钟,但是这样的方式毕竟不是很好的解决方案。在UI自动化测试中,关于等待的部分,主要汇总为如下三点,具体如下: 1、固定等待,也就是使用sleep( 阅读全文
posted @ 2022-07-01 19:56 LaraCroft 阅读(432) 评论(0) 推荐(0)
摘要:ActionChains主要是针对鼠标事件的处理,在鼠标事件中常用的交互为悬浮,双击,以及右键等操作。 如果想使用ActionChains的类,首先需要导入它,导入的命令为: from selenium.webdriver.common.action_chains import ActionChai 阅读全文
posted @ 2022-07-01 19:33 LaraCroft 阅读(215) 评论(0) 推荐(0)
摘要:一、Select类 1、源码分析 在UI自动化测试中,如果遇到下拉框的选择,就可以使用Select类里面的方法来具体进行定位和解决。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> 阅读全文
posted @ 2022-07-01 14:22 LaraCroft 阅读(207) 评论(0) 推荐(0)
摘要:在WebDriver的测试框架中,WebDriver的类里面提供了很多的方法来专门针对浏览器的操作,这些方法都是在WebDriver 的类里面,如测试被测试的浏览器地址,获取被测试的浏览器名称。 一、获取测试的地址(current_url) 在测试中,由于实际的需求,我们需要获取被测试的地址,比如我 阅读全文
posted @ 2022-06-30 23:06 LaraCroft 阅读(101) 评论(0) 推荐(0)
摘要:#实现鼠标悬浮action.move_to_element(setting).perform() from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from 阅读全文
posted @ 2022-06-28 19:26 LaraCroft 阅读(41) 评论(0) 推荐(0)
摘要:在UI的自动化测试实战中,针对弹出框的处理,主要使用的是Alert的类,在JavaScript的技术体系中,针对弹出框的部分,主要涉及到Alert警告框,Confirm确认框,Prompt消息框。下来主要详细的说下Alert里面每个方法的具体使用,具体源码如下:点击查看代码 # Licensed t 阅读全文
posted @ 2022-06-28 18:06 LaraCroft 阅读(1071) 评论(0) 推荐(0)
摘要:1、按照索引 2、按照value值的方式 3、按照文本的方式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body bgcolor="pink"> <cent 阅读全文
posted @ 2022-06-28 17:58 LaraCroft 阅读(116) 评论(0) 推荐(0)
摘要:方法 获取测试地址用到的方法是:current_url 获取当前页面代码的方法是:page_source 页面前进的方法是:forward页面后退的方法是:back获取当前的title即获取当前测试页面的标题:driver.title在selenium中:quit方法:用于推出驱动程序而close方 阅读全文
posted @ 2022-06-27 20:08 LaraCroft 阅读(655) 评论(0) 推荐(0)
摘要:看了无涯老师的博客整理的非常通俗易懂: 一、UI自动化测试 1、为什么要学习UI自动化测试 在学习自动化测试之前,需要考虑我们为什么要学习自动化测试,以及今天业界谈的研发效能对测试而言意味着什么?其实这就需要在测试以及整体研发的角度来思考这个问题,在当下这样的市场环境中,打造高质量的持续交付产品质量 阅读全文
posted @ 2022-06-27 20:01 LaraCroft 阅读(287) 评论(0) 推荐(0)