Python unittest框架实现appium登录】的更多相关文章

import unittest from appium.webdriver import webdriver from ddt import data,ddt,unpack class MyTestCase(unittest.TestCase): def setUp(self):#准备的过程 desired_caps = {} desired_caps["platformName"] = "Android" desired_caps["platformVe…
20万的慢慢会实现的吧,hhh unittest框架,我就不在介绍了,百度有很详细的介绍. 我们只要了解: 1.unittest是单元测试框架 2.它提供用例组织与执行:在实际工作中案例可能有上百条,我们就需要进行用例的组织以及规范,增强代码的可维护性等 3.它提供丰富的比较方法:相等\不相等,包含\不包含,True\False的断言方法等等 4.提供丰富的日志:例如,总执行时间.失败用例数.成功用例数等 这就是别人造好的车,我们直接开..............................…
unittest基本原理: ♦整个平台的搭建使用的是python的unittest测试框架,这里简单介绍下unittest模块的简单应用. ♦unittest是python的标准测试库,相比于其他测试框架是python目前使用最广的测试框架. ♦unittest有四个比较重要的概念是test fixture, test case, test suite, test runner, . ♦test fixture:The test fixture is everything we need to…
预期框架整理目标: 1.单个用例维护在单个.py文件中可单个执行,也可批量生成组件批量执行 2.对定位参数,定位方法,业务功能脚本,用例脚本,用例批量执行脚本,常用常量进行分层独立,各自维护在单独的.py文件中 3.加入日志,htlm报表,发送邮件功能 框架结构 结构说明: config:配置部分,浏览器种类和定位信息维护在此处 constant:常量部分,固定不变的数据维护在此处 data:存放用于参数化的文本表格等文件 encapsulation:定位等selenium功能二次封装在此处 e…
要说单元测试和UI自动化之间的是什么样的一个关系,说说我个人的一些心得体会吧,我并没有太多的这方面经验,由于工作本身就用的少,还有就是功能测试点点对于我这种比较懒惰的人来说,比单元测试复杂...思考单元测试的处理逻辑和UI的对应关系,根据分层自动化的测试思想, UI>>接口>>最底层就是单元,对于单元级别的自动化测试, 是白盒测试范畴, 用一段代码去测试一段代码, 而我们则是需要利用单元测试框架的一些组织驱动单元来编写我们的自动化测试脚本, 而unittest是python自带的单…
项目搭建 创建一个项目之后,需要在手动创建几个包(含有__init__.py文件的目录)和文件 1.在主目录下创建配置文件:config.py 2.在主目录下创建扩展文件:exts.py 3.在主目录下创建管理文件(供在命令行使用):manage.py 4.在主目录下创建app包,在app包下再创建cms包管理后台的文件 5.在cms包下创建views.py文件管理视图函数.models.py文件管理数据库模型.forms.py文件管理表单验证 填写配置文件 在配置文件下配置密钥.数据库连接等(…
接上一篇doCleanups说明,这次介绍下另一个很好用的函数:addCleanup 还是老规矩,看官方文档说明: addCleanup(function, *args, **kwargs)¶ Add a function to be called after tearDown() to cleanup resources used during the test. Functions will be called in reverse order to the order they are a…
今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告.案例的部分看第五天的批量执行笔记~ HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车子,我们直接改造使用.先看下运行代码部分: 案例代码在批量执行第五天去看哦~~ #!/usr/bin/env python import unittest #导入unittest import os #导入前面学习的os库,方便获取文件路径 import time #导入time模块,方便我们获取当…
找出要测试的testcase,并加入到Testsuite,运行Testsuite并把结果给TestResult1.创建TestSuite实例对象suite = unittest.TestSuite() 2.构建suite a. suite = unittest.TestLoader().discover("文件夹名或者包名") suite = unittest.TestLoader().discover("xxx文件夹") b. suite = unittest.T…
四个部分: test fixture A test fixture represents(代表) the preparation needed to perform one or more tests, and any associate cleanup actions. This may involve, for example, creating temporary or proxy databases, directories, or starting a server process.…
偶看unittest官方文档中,发现一个很好用的功能函数doCleanups,看看官方是怎么解释的: doCleanups() This method is called unconditionally after tearDown(), or after setUp() if setUp() raises an exception. It is responsible for calling all the cleanup functions added by addCleanup(). If…
今天了解下测试套件Test Suite,什么是测试套件,测试套件是由多个Test Case测试用例组成的,当然也可以由多个子测试套件组成. 接下来看下如果构建测试套件,构建测试套件的方法: 1.用unittest.TestSuite()实例化测试套件对象后,内部的addTest()方法对测试类内部的测试案例进行逐一添加. import unittest #导入unittest import time as t #导入time 设置别名 t from selenium import webdriv…
unittest中的测试断言分两天总结,hhh其实内容不多,就是懒~ 断言的作用是什么?  答:设置测试断言以后,能帮助我们判断测试用例执行结果. 我们先看下unittest支持的断言有哪些: 对上面的断言语法有个大概的了解后,我们使用一下看看代码: 一: 断言 assertEqual(a,b) 它可以判断两个参数相等,比如我们把获取到的百度首页的title和我们写的title做对比. ''' 标题 断言 assertEqual() 它可以判断两个参数相等,比如我们把获取到的百度首页的title…
今天开始批量执行用例~,场景是这样的: 工作中我们可能有多个模块文件(.py)这些文件根据不同的业务类型或功能,测试案例分布在不同的模块文件下.前面的小示例中,我们的测试用例都是在一个文件中,直接运行的测试套件~,开发阶段或者调试阶段这样做是没毛病的,但是如果是测试运行阶段,我们不可能这个模块文件下的用例执行完毕后,切换另一个模块中的用例继续执行.所以我们需要用的批量执行多个模块文件的测试用例. 首先第一个用例模块的案例是这样的~ import unittest #导入unittest库 fro…
我们在时间工作中,会将整个项目的代码分别放置多个模块中去编写.方便后期项目维护,比如,我们的web项目可能有多个IP地址,每个IP地址代表不同的测试环境.测试环境与Bat环境或者验收环境等.这就需要我们频繁更换测试地址 :或者我们需要验证web 项目在不同的浏览器上面的兼容性,需要我们更换浏览器测试,这样我们必须切换代码中的浏览器驱动. 我们可以将公共代码放在另一个.py文件中,就像这样: 我们将测试固件分离出去,这样方便我们在公共模块下维护测试需要的初始化环境,方便切换浏览器或者更改地址 im…
CSRF是什么? (Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用也就是人们所知道的钓鱼网站.尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左.XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站.与XS…
#3使用html+css+js制作网页 番外篇 使用python flask 框架 II第二部 0. 本系列教程 1. 登录功能准备 a.python中操控mysql b. 安装数据库 c.安装mysqlclient python库 d.mysql语句教程 e.mysql 创建数据表 1.登录mysql 2.进入`web`库 3.创建数据表 2.前端登录页面 b.目录 a.代码 4.后端 5.运行 0. 本系列教程 #1使用html+css+js制作网站教程 准备 #2使用html+css+js…
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unittest.TestCase): """appium测试类""" def setUp(self): desired_caps = { 'platformName': 'Android', 'deviceName': 'Android Emulator',…
环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Python-Client) 连接设备 cmd打开命令行窗口输入adb connect 127.0.0.1:62001连接模拟器输入adb shell dumpsys window windows | findstr "Current"获取当前包名启动appium 常用元素定位driver.fin…
简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 参考:https://juejin.im/post/5c3809a451882524c84ebabe 最终,得到App的信息如下: appPackage:com…
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test…
unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际结果,检查程序的状态,生成测试报告. 且断言的话unittest框架很方便. 在这主要记录下setUp()和tearDown()这两个的问题,每次执行一个测试用例(test开头的方法),就会执行一次setUp()和tearDown(), 导致执行多个测试用例时,会反复的打开浏览器操作,这个很浪费时间…
部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,TextTestRunner,TextTestResult, test fixture TestCase(测试用例): 所有测试用例的基类,它是软件 测试中最基本的组成单元. 一个test case就是一个测试用例,是一个完整的测试流程,包括测试前环境的搭建setUp,执行测试代码(run),以及测试后环…
学习了Appium python项目施展的课程小伙伴都会有一个疑问,说现在所有的case都是通过一个suite进行一个方法一个方法进行添加的,但是在实际过程中我们不希望这样,我们做出来的功能是这样: suite = unittest.TestSuite() suite.addTest(CaseTest("test_02",parame=i)) unittest.TextTestRunner().run(suite) 这个是我们现在做的现状,但是我们希望的是: discover = un…
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…
本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unittest.TestCase): """appium测试类""" def setUp(self): desired_caps = { 'platformName': 'Android', 'deviceName': 'Android Emulator…
整体框架使用的是:Python+Unittest+Requests+PyMysql+HTMLReport  多线程并发模式 主要依赖模块 Unittest.Requests.PyMysql.HTMLReport 主要包含以下几个模块:  1. Business:与业务相关的公共模块 get_login_token:接口自动化过程中需要实时获取token,并将实时获取的token传给下个接口作为请求参数 from Business.url import url_login import reque…
本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁.本文应用到POM模型.selenium.unittest框架.configparser配置文件.smtplib邮件发送.HTMLTestRunner测试报告模块结合登录案例实现简单自动化测试框架项目主要包括以下几个部分 conif.ini 放置配置文件 例如: myunit.py文件放置的浏览器操作代码 import unittest from selenium import webdriver…
前言 本文为转载,原文地址作者列举python unittest这个测试框架的主要属性和 测试用例思路 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测试. 目录 一.unittest模块的各个属性说明 二.使用unittest框架编写测试用例思路 三.使用unittest框架编写测…