来源:http://www.51testing.com 第2章 App测试类型 2.1 功能测试 功能测试,通常的定义就是测试功能的可执行性和有效性。 关于这部分测试,使用自动化测试手段才能化繁为简,并且取得比手工测试更准确、更客观的测试结果。自动化测试手段能够编写同一时钟下的相关操作,以确保测试的及时性和准确性。 而确保动作序列的流程、最大限度地提高容错性和实现相关的等待时延判断,是这种自动化测试程序的关键所在。 2.3.3 芯片种类 对于App测试来讲,芯片种类并不是必须要兼容的内容,这部分内容过于底层。不过对于移动终端产品来讲,不同芯片的解决方案不同,产品是要重点进行测试的。 我国市面上手机产品使用的芯片解决方案几乎都是以上厂家提供的,芯片质量的好坏直接决定了手机的各种质量指标。
线性测试 已经被淘汰了:线性测试就是一个脚本完成一个场景,代码基本没有复用,每一个脚本都要从头开始写——这哪行。
自动化测试的方案越详细后面遇到的坑就会相对减少,主要从以下方面考虑: 采用什么工具与开发语言实现自动化测试? 工具与开发语言的选择需要综合项目组整体的情况考虑。 对于还没自动化测试框架的公司,选择需要慎重,首先需要从成本、人员以及项目的实际情况考虑。 有经验的自动化测试工程师会通过前期的抽样分析评估选用是那种框架。 自动化的测试用例或需求怎么确定与管理? 自动化测试与手工测试存在非常大的差别。 怎么获取自动化测试的用例或需求? 怎么将现有的自动化测试用例与手工测试相关联? 自动化测试参与人员是否都会使用该工具? 部分人不会的培训怎么安排? 版本管理工具需要与实际相结合,如果开发的代码管理使用Git,那么自动化测试代码也使用Git,方便统一管理,而且遇到问题好请教。 版本管理工具:Git,SVN 测试数据的怎么管理? 自动化测试的数据,也是需要前期就要考虑,自动化测试的数据都比较大,前期就需要考虑数据的获取,维护,清理。 需要采用那些设计模式?
上一节我们说了如何定位元素,定位到元素以后就涉及到对元素的操作了,webdriver中常用的操作元素的方法有: clear ——用于清除输入框的默认内容 send_keys ——用于在一个输入框里输入内容 click ——用于单点击一个按钮 此外,很多时候我们是要查看返回值的,常用的方法有: size ——返回元素的尺寸 用法: driver.find_element_by_id("定位的id").size text ——获取元素的文本 用法: driver.find_eleme
浏览器操作 # coding: utf-8 from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get("https://www.baidu.com") # 设置浏览器宽800,高400 driver.set_window_size(800, 400) sleep(3) # 最大化窗口 driver.maximize_window() driver.get("https
App自动化测试方案 1.1 概述 什么是App自动化?为什么要做App自动化? App自动化是指给 Android或iOS上的软件应用程序做的自动化测试。 1.2 风险分析 自动化测试的主要风险分析如下: (1)测试用例覆盖率(覆盖率决定测试效率,选择合适用例,应约占功能用例集的20%~50%) (2)测试结果准确度(准确度决定了测试有效性,应尽可能减少误报 (2)TestNG等测试框架 (见第1.6节)。 (3)Android/iOS开发测试基础以及环境搭建(见第2章和第3章)。 (4)开发移动自动化项目Java语言或Python语言等 (第4章)。 测试脚本:由Java和TestNG编写,分层结构case、log、config、report以及data。 (2)自动测试用例覆盖率。 功能测试用例抽取覆盖。 支持用例failed时自动截屏。 (2)在 TestNG.xml 或build.xml中加上测试信息(例如,你需要运行的类名、组名等)。 (3)运行测试。 一个suite使用一个xml文件来定义。
= curr: driver.switch_to.window(i) sleep(2) driver.find_element_by_id("hxjy_blog_tit //*[@id='editorContainer']/iframe")) sleep(2) driver.find_element_by_xpath("html/body //*[@id='hxjy_blog_label']").send_keys(u"测试") driver.find_element_by_xpath(". 2、定位iframe 这个我觉得有点麻烦,不知道各位大神怎么定位,我说一下我的思路,大家可以参考。
webdriver.Chrome(chrome_options=options) # driver = webdriver.Chrome() driver.get("http://www.jrj.com.cn/") sleep(2) 只能和大家说一下我的chrome版本了;此外如果大家不像我那样写而是直接webdriver.Chrom(),运行是没问题的,但是chrome打开时会显示一行字——“chrome正受到自动测试软件的控制”
对键盘的操作需要导入另一个键盘的库: from selenium.webdriver.common.keys import Keys 举个例子,你要在搜索框输入“自动化测试”,但是现在又想搜 “自动化测”,就是删掉一个字,我们知道,就是摁一下键盘上的Backspace键就可以了,这时候你就需要键盘操作了: driver.find_element_by_xpath("xpath的定位").send_keys
'value': 'CfDJ8NJxdyN1379Ivw', 'domain': '.cnblogs.com'}) sleep(2) //*[@id='avatar_opt_nav']/li[1]/a").click() sleep(2) # 文件的路径 file = r"C:\Users\DELL\Desktop\ldh.jpg"
= i: driver.switch_to.window(i) sleep(2) driver.find_element_by_xpath("html/body /div[10]/div[1]/div/dl/dt[1]/div[1]/p/a[2]").click() 句柄的操作主要有两个: 第一个:获取当前窗口句柄: driver.current_window_handle
大家好,我是你的课程老师Fin,欢迎来到我的专栏《自动化测试平台实战39讲》,很高兴能在这里和你聊聊自动化测试平台。 那么在课程开始之前,我先简单一句话介绍下自己的从业经验。 这个课程怎么样 坦白的说,是根据经验从业经验浓缩而来,从基础入门、到进阶、到实战,以实践为主、理论为辅、理论指导实践的思想,一步一步掌握自动化测试平台的开发。 通过本课程,你可以了解Python知识,了解自动化测试知识,了解企业级项目实践,最主要的是快速掌握搭建一套非常适用的自动化测试平台,目前虽然Github上开源自动化测试平台非常多,但是详细讲解自动化测试平台的课程几乎为 大公司分技术路线和管理路线,相应的级别需要达到相应的岗位要求,中小公司可能需要2条腿走路,对公司对自己才能达到利益最大化。 自动化测试平台实战技能,该技术一直是当前IT行业,企业非常主流的技能,是广大测试、开发从业人员需要了解,掌握,熟练,精通的热门技能。 这个课适合你听吗?
很开心自己写的书出版了,在这期间特别感谢电子工业出版社张瑞喜老师一年多来对我的鼓励和写作的支持,也感谢京东测试架构师陈磊老师和《Python编程基础与HTTP接口测试》作者阿奎老师作序,同时感谢顾翔老师 (啄木鸟软件测试培训),慧测的田威峰老师,高鑫测试专家的推荐语。 也特别的感谢公众号的测试同学对我的一直支持和公众号的关注,谢谢你们。也同时谢谢“无涯课堂”的学员对我的认可和支持。 本书是本人这几年学习点点滴滴的总结,希望能够帮助那些想学习基于Python语言的UI自动化测试知识体系和基于Python语言的API自动化测试的知识体系。 本书更加看重实战,对于我们这些工作的人来说,在企业中,是需要解决实际问题的,而并不是说夸夸其谈的去谈理论,毕竟企业需要实战,需要出结果,当然解决问题的思路比解决问题的能力更加重要。
组合错误 竞争条件 VM后台、SYS 以后补充 windows pos 以后补充 接口自动化 参考接口自动化实施方案 自动化测试应用阶段 接口自动化 冒烟测试,系统测试,线上回归(监测),详情参考接口自动化实施方案 输出物 自动化用例筛选及评审 2天 迟 否 《自动化测试用例列表》 新增自动化用例编写及调试 --- --- --- 线上、预上线自动化测试账号、测试数据准备 --- --- --- 自动化框架使用指导文档及培训 团队建设 岗位职责 建立自动化测试的组,理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;目前有2个人,未来还会在组内培养2个(兼职)。 此外,可以选择Jenkins作为持续集成服务器,配合Python+Selenium的方案进行自动化冒烟测试。 文档管理 保存路径在git header 1 header 2 接口测试实施方案 接口测试详细设计 POS自动化详细设计 性能测试实施指导手册 测试交付物 性能测试计划、报告模板参考: 自动化测试计划
unittest是展开自动化测试的基础——这个框架很重要! 我们先自己写一个测试类: 1、被测试类 Widthget.py: # coding: utf-8 class Widthget: def __init__(self, size=(10, _size = (width, height) 2、测试类: # coding: utf-8 from Widthget import Widthget import unittest # 执行测试的类 优化2 测试用例都以test开头命名,比如测试登录,用例就命名为testLogin,测试退出用例就命名为testLoginOut,上面我们写的例子之所以能这么顺利的就通过,主要原因就在于我的用例 接下来就是批量执行用例,这个我们在接口测试框架的时候介绍过,而且是专门介绍过,大家可以看一下 接口测试基础——第6篇unittest模块(一) 接口测试基础——第6篇unittest模块(二) 接口测试基础
前言 在上一篇《APP自动化测试框架-UiAutomator2基础》中,重点介绍了uiautomator2的项目组成、运行原理、环境搭建及元素定位等基础入门知识,本篇将介绍如何基于uiautomator2 以便随时调用; 二、GUI自动化测试二三事 1.什么是自动化 自动化顾名思义就是把人对软件的操作行为通过代码或工具转换为机器执行测试的过程或实践。 2.为什么要做自动化 这个可说的内容就太多了,不做过多赘述,详情可参照我整理的《软件测试52讲》课堂笔记中的内容: 3.什么样的项目适合做自动化 需求稳定,不会频繁变更(尤其是GUI测试,页面布局及元素不能频繁变化 三、APP自动化测试实战 1.设计项目结构 2.封装BasePage 即Driver层,对uiautomator2进行二次封装,所有Page类都会直接或间接继承BasePage # coding:utf 小结 以上就是利用uiautomator2结合PO模式测试移动端APP的一次实践,以上介绍了: PO模式相关概念:六大原则、设计模式、PO封装元素组成、业内常见的分层模型 GUI自动化测试:为什么要做自动化即自动化的利弊
//*[@id='firstpane']/h3[2]").click() sleep(2) # 点击商品发布 driver.find_element_by_xpath(". //*[@id='firstpane']/div[2]/a[2]").click() # 点击批量发布 driver.find_element_by_xpath(". //*[@id='title-tabs']/span[2]").click() sleep(2) # 点击“否” driver.find_element_by_xpath(". 0是桌面;1是“我的下载”;2是自定义。这一选项你可以直接在“首选项-下载-将所有文件保存在此文件夹”中修改。 刚才给大家那两个网址建议大家保存一下,如果不保存,那就一直关注我的公众号吧,只要你写selenium自动化肯定有一天会用到的,嘿嘿。
webdriver.Firefox() d.get("https://www.baidu.com") sleep(1) try: d.find_element_by_id("kw1").send_keys("自动化 自动化测试用例的设计 一、主要设计正向用例,因为自动化测试(selenium)识错能力不强 二、每个功能写一个测试用例,而不是一个用例就要把所有功能跑个遍 三、尽量减少代码耦合( 接下来我们会进入重点啦,之前讲的都是单独的功能点,接下来就到了unittest模块了,这里会把之前学过的东西结合起来用,也可以说这里学会了你才可以说自己“会自动化测试”了。
js修改readonly属性 我们看到这里日期框标签中有readonly属性,如果我们直接send_keys就无法输入内容,这时我们需要先去掉readonly属性: js ='docu
(一)Selenium IDE Firefox的一个插件,有助于我们理解测试框架。 在附加组件里搜索下载,一般搜的结果里前几个都不是,得点那个查看更多才行,找到这个: 安装以后浏览器工具栏会有: 安装好了以后点击这个标签启动: 1:控制用例运行速度 2:暂停和恢复用例执行 3:单步:可以运行一个用例中的一行命令