基于C#的Appium自动化测试框架(Ⅰ)】的更多相关文章

因为工作原因,使用的编程语言都是C#,但是国内相应的Appium资料少得可怜,Java版本的Appium也考虑过,但是奈何自己搞不定Eclipse这个编译环境[说白了就是因为懒-- 无意中看到了外面的世界,然后发现国外的相关资料还是很多的,那还说啥?赶紧的,撸起袖子就是干. 前置条件:APPIUM环境搭建,Windows环境下的搭建教程还是很多的,按照教程操作就可以了. 测试环境:Visual Studio 2015+Genymotion模拟器+Custome Phone 6.0.0 源码下载地…
因为工作原因,使用的编程语言都是C#,但是国内相应的Appium资料少得可怜,Java版本的Appium也考虑过,但是奈何自己搞不定Eclipse这个编译环境[说白了就是因为懒…… 无意中看到了外面的世界,然后发现国外的相关资料还是很多的,那还说啥?赶紧的,撸起袖子就是干. 前置条件:APPIUM环境搭建,Windows环境下的搭建教程还是很多的,按照教程操作就可以了. 测试环境:Visual Studio 2015+Genymotion模拟器+Custome Phone 6.0.0 源码下载地…
1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告,宏哥已经讲解了testng.HTMLTestRunner.allure等等,今天就在讲解一个新的测试报告BSTestRunner.这个有的小伙伴有问到,所以在这里特地的给这部分的小伙伴们演示一下. 2.1 下载BSTestRunner 直接输入网址,下载后,引入项目中即可. BSTestRunner下载地址…
基于unittest.pytest自动化测试框架之demo,赶紧用起来,一起学习吧! demo分为两个框架:①pytest    ②unittest demo 中 包含 web.api 自动化测试框架,任挑任选,喜欢哪个就用哪个! 直接上 demo 传送门:https://github.com/git-gsxl/Automated-testing-framework 简介:1.unittest框架:unittest_demo 1.api_packge:excel数据驱动设计模式 --cases:…
简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完整的python+appium自动化测试框架. 框架背景 前面我们已经学习了Appium各种元素定位,手势操作.数据配置.Pageobject设计模式等等.但是前面的功能都是比较零散的,没有整体融合起来,实际项目实践过程中我们需要综合运用,那么本章节我们将结合之前所学的内容,从0到1搭建一个完整的p…
简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platformName: Android #模拟器 platformVersion: 5.1.1 deviceName: 127.0.0.1:62025 #mx4真机 #platformVersion: 5.1 #udid: 750BBKL22GDN #deviceName: MX4 appname: kao…
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群,各式各样的.但是其大多数都有注册.登录.为了不要使小伙伴卡在入门处,所以宏哥在这里仅仅是给你打一个样,俗话说:师傅领进门修行靠个人.剩下的就靠童鞋们自己实现和学习了 2.1登录页面业务逻辑模块 思路: 1.首先定义封装一个登录类的视图 2.然后继承公共类的定位方法,定位账号和密码的输入框 3.在类…
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程中,我们的数据可能是存储在一个数据文件中,如txt,excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动. 2.2案例 将测试账号存储在account.csv文件,内容如下: account.csv hg2018 hg2018 hg2019 zxw2019 666 222…
第1章  Selenium自动化测试框架入门 1.1  Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业招聘自动化测试工程师的信息,大家可以看到在岗位任职条件方面明确指出要求应聘者具有Selenium等主流自动化测试工具的使用经验. 图1-1  某企业自动化测试工程师招聘信息 那么Selenium是谁开发的?它是用来解决什么问题的?它为什么会被自动化测试人员广泛使用呢? 在日常的软件测试工作中,功能测…
基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动化测试方案与实施(三)   基于Ruby的watir-webdriver自动化测试方案与实施(二)   基于Ruby的watir-webdriver自动化测试方案与实施(一)   Watir-WebDriver       —— 软件测试的自动化时代 QQ群:160409929 支持哪些浏览器? 几…
目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命令都是为移动端自动化测试环境搭建做准备的. 1.主流的移动端自动化测试框架 (1)Robotium 支持语言:Java 仅支持Android系统. 不支持跨应用. (2)Macaca 支持语言:Java,Python,Node.js 支持Android和iOS系统. 支持跨应用. (3)Appium…
1. 关键字驱动框架简介 2. 框架结构说明 3. 框架代码实现 action 包  page_action.py business_process 包 case_process.py data_source_process.py main_process.py util 包 global_var.py find_element_util.py excel_util.py ini_reader.py email_util.py datetime_util.py get_desired_caps.…
WebUI automation testing framework based on Selenium 介绍: pyse基于selenium(webdriver)进行了简单的二次封装,比selenium提供的方法操作更简洁. 起因: python + selenium 自动化测试写久了发现selenium(webdriver)提供原生的方法并简便,于是,产生了二次封装的想法.想不到太炫酷的名字,于是各取了两个单词的前两个字母-- pyse. 特点: 所有方法只提供xpath定位,webdriv…
项目背景 公司内部的软件采用B/S架构,目的是进行实验室的数据存储.分析.管理. 大部分是数据的增删改查,但是由于还在开发阶段,所以UI的变化非常快,难以针对UI进行自动化测试,那样会消耗大量的精力与时间维护自动化脚本,对于小团队来说就得不偿失了. 针对此种情况,选用接口测试较为有效. 工具选择 针对接口测试的自动化工具也很多,例如Soup UI.Postman.robotframework,甚至jmeter这样的性能测试工具都可以进行接口测试. robotframework测试框架有很多的第三…
简介 一种开源的测试框架(http://appium.io/) 能够用来测试原生Android/iOS应用.混合应用以及webapp 通过webdriver协议来操作应用,其核心是一个web服务器,接受客户端(测试代码)的连接以及操作命令,并在手机设备上执行操作命令,并且可以将执行结果以log的形式显示出来 直接上图,先看下面的图片,这个图片展示的是appium运行起来需要的环境配置. 安装步骤: 1.java环境搭建和配置.Android开发环境搭建与配置,比较简单,不再赘述,不清楚可以参考一…
真的感谢@虫师 这位来自互联网的老师,让我这个原本对代码胆怯且迷惑的人开始学习自动化测试. 一开始搜索自动化测试的时候,虫师的博客园教程都是在百度的前几位的,我就跟着虫师博客园里面的教程学习.后来学seleinum听说他出书了<python+selenium>的这本我买了也学习了,是这本书带着我这个代码小白入门的,其实很多事情不愿意开始就一直不会开始,一旦开始了,可能也没有当初想的那么难.最近想学习下appium的时候发现他还有一个专门针对测试的网页http://www.testclass.n…
appium框架使用的过程记录,开始使用markdown来语法来编写,不知道博客园是否会支持markdown语法 ***1. appium原理* appium启动时,创建一个http://127.0.0.1:4723/wd/hub服务端服务端和设备默认使用4724端口进行通信* 底层调用UIautoamator工具* 服务端给设备一个bootstrap.jar * 启动包后会在手机上创建socket服务,暴露4723端口* 服务端收到也就是appium收到脚本传递命令,通过电脑4724端口想设备…
今天的文章讲iOS的Appium环境搭建. 对于iOS而言,只能在Mac笔记本上安装Appium,以及所需要的各种组件. 也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就不用花钱买Mac了吗?答案是不可以,因为Appium的本质是把我们编写的自动化测试脚本,翻译成Mac中UIAutomator的脚本,所以只能Mac来做,Windows系统搞不定.但是,你可以装黑苹果来解决这个问题. 我们这篇文章不提黑苹果,而是介绍怎么在mac笔记本上安装能运行iOS自动化测试的ap…
1. 框架结构说明 2. 框架代码实现 action 包  case_action.py business_process 包 main_process.py util 包 global_var.py request_util.py excel_util.py ini_reader.py email_util.py datetime_util.py log_util.py report_util.py conf 目录 unique_num.txt server_info.ini logger.c…
Github地址: https://github.com/wuranxu 使用说明 1. 安装配置Mongo数据库 下载地址 mongo是用来存放元素定位的,截图如下: 通过case_id区分每个case的元素定位 里面提供了value, method和text字段,分别作用是定位的值,定位的方法和要输入的文本内容. 2. 安装Redis 因为被墙,所以给个CSDN下载地址 戳我下载 下载后解压,运行redis-server.exe就行 装Redis的原因, 是因为现在想第一个case初始化(包…
接口自动化测试用例完成以后,以前都是发布以后手动运行测试用例.虽然手动运行下脚本也就是一个F5的事情,但是离自动化测试的标准差得很远.这两天有了个大胆的想法,想要实现以下发布时直接触发自动化回归测试用例的进行. 虽然说发布工作看起来很高大上,但操作实际上就是把要发布的内容扔到服务器下的指定文件夹里,然后去部署工具下切换路径,然后回收刷新即可进行操作.因此,只要实时监控服务器上的文件夹,一旦其中的文件发生改变,就直接启动运行对应的自动化测试用例,就能实现[版本发布时自动触发自动化测试]的需求. 一…
测试自动化程序的任务 基于反射的ui测试自动化程序,要完成的6项任务: 通过某种方式从测试套件程序中运行待测程序(AUT: Applicaton Under Test),以便于两个程序之间进行通信 操纵应用程序的窗体,从而模拟用户对窗体所实施的moving和resizing操作 检查应用程序窗体,确定应用程序的状态是否准确 操纵应用程序控件的属性,从而模拟用户的一些操作,比如模拟在一个TextBox控件里输入字符 检查应用程序控件的属性,确定应用程序的状态是否准确 调用应用程序的方法,从而模拟一…
1.在utils包中创建一个AppiumUtil类,这个类是对appium api进行封装的. 代码如下: package utils; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; import org.apache.log4j.Logger; import…
今天,我们聊一聊如果自动化实现在多台设备上运行脚本. 一.首先我们回忆一下如何在一台设备上运行python脚本,一般分为三步 1.启动appium服务 2.创建驱动 3.运行python脚本 同样的,运行多台设备,也基本是这三个步骤 1.启动多个appium服务(通过设置不同端口,并关联设备) 2.创建驱动,并确保端口号和设备关联,并和步骤1保持一致 3.多线程或多进程运行脚本. 二.步骤分解 我们下面分别看这三个步骤如何实现 1.启动多个appium服务,"appium -p appium_p…
在上一节中,我们已经解决了如何在python中执行cmd,并获取执行结果.下面就小小实战一下,获取设备信息. 一.思路 1.windows上获取设备信息的方法 输入dos命令“adb devices” 通常有如下结果 2.对结果进行处理,获取需要的设备信息 1)通过os.popen(cmd).readlines()获取到所有的行,去掉行尾的‘\n’符,可以得到有效的行信息. 2)找到含有设备信息的行,因为设备号和“device”之间是有‘\t’分隔的,所以可以使用split()进行分隔 二.上代…
一般我们运行dos命令,会有两种需求,一种是需要收集执行结果,如ip.device等:一种是不需要收集结果,如杀死或开启某个服务. 对应的在python中就要封装两种方法,来分别实现这两种需求. 1.引入包 import os 2.只执行不收集结果 os.system(command) 3.执行并手机结果 os.popen(command).readlines() 4.代码实现 #coding=utf-8 import os class DosCmd: ''' 用来封装windows执行dos命…
在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试. UiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库. 1.UiAutomator——基于UIAutomation的用户界面自动化测试框架,可以跨应用工作: 2.UiAutomator只能测试Android native app 3.主要功能跟Appium类似 4.可以跨应用测试,Google原生,…
关于测试框架搭建的详细过程,会在另一篇文章中详细介绍:http://www.cnblogs.com/leeboke/p/6145977.html 摘 要 目前基于Jmeter的接口自动化测试框架,大多只实现脚本维护和自动调度,无法与Testlink进行互通,实现测试方案与自动化实施流程连接,本文基于Testlink.Jmeter.Jenkins实现:通过Testlink统一维护接口自动化测试用例,Jmeter编写和运行测试脚本,Jenkins实现统一调度,并返回执行结果和测试报告到Testlin…
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览器的基本上底层都是selenium,驱动无线app和浏览器基本是appium.monkey之类的,底层都是基于官方支持的自动化测试框架开发而来,然后上层又做了各种封装 首先在开始计划开发自动化时,第一步是了解目前已有的自动化开发技术,上面说了,最底层的就那几种,根据实际要去测试的业务需求选择合适的自…
声明:原文出自"前端之巅"微信公众号"爱奇艺基于AI的移动端自动化测试框架的设计"一文,作者:何梁伟,爱奇艺Android架构师.文章提供了一种基于AI算法的自动化测试框架AIon,该框架并未开源,目前搜索不到相关资料,但从作者的设计思路上很受启发. 理想种的移动UI自动化框架: 易于开发和维护 稳定性 执行效率 跨平台 跨应用 支持Hybrid(混合应用) 传统的UI自动化框架(UIAutomator.Espresso.appium等),或多或少在这些方法做的不够…