【Appnium+C#+Winform自动化测试系列】前言
目录(后期持续更新)
一、前言
1、为什么选择Appnium
最近这些年APP保持着持续的火热,对应的APP测试行业也是跟着水涨船高。由于市场的需求,APP测试平台也涌出大量的自动化测试工具。
在对MonkeyRunner、Monkey、Appnium和instrumentation进行比较分析后,我选择了Appnium这个工具。该工具最大的特点就是支持多平
台多语言,而且竟然同时支持JS这种脚本语言和C#、java编译型语言。跨平台的话,同时支持IOS和Android,只需要安装对应Appnium
就可以实现了。
2、Appnium原理图
关于具体Appnium运行的原理以及如何支持跨平台多语言的架构,大家可以自行搜索,作者也无法通过大脑背出这些原理,大概就是类似
有一个中间件平台来完成的。
我们可以把Appium看做是一个翻译人员。
它可以把你的自动化测试脚本,翻译成UIAutomator能识别的语言,然后调用UIAutomator来执行测试,它只是一个中间人。
运行测试脚本的电脑,我们称为Client。
打开Appium,就开启了Appium Server,默认监听4723端口。
Appium Server接收到Client命令(测试脚本),翻译成测试机器可以理解的语言,然后发送给手机平台运行。
测试机器运行结束后,再把测试结果返回给Appium Server,之后Appium Server再把测试结果返回给Client。
注:图片来自互联网搜索


3、如何实现C#语言下的脚本
与其他语言一样,都是需要引用对应的插件或者动态链接库文件,点此下载dll>>,点此下载Appnium
只需要对其进行引用后,便可实现客户端与服务端的连接和指令的发布了。
第一篇序言,就这样完结吧,环境的搭建相信大家都能轻松解决。本人也是5月份开始入手研究App自动化测试的,当时一片空白,对移动端几乎没有一些认识,
所有的知识都是通过搜索引擎学到的,然后发现网上很多只是都是一些零散的碎片,最夸张的时候,同时打开了十几个浏览器页面结合着学习。一开始,我没
有立马去学习工具,而是先对移动端的系统进行熟悉,再尝试去阅读移动端的一些代码和app运行机制,再是对工具进行熟悉和对比,选择一款适合自己下手
的工具。接下来,我将会把一个完整的Appnium自动化测试作品一步一步的讲解,希望在整理知识的同时带给大家帮助,敬请期待。。。
【Appnium+C#+Winform自动化测试系列】前言的更多相关文章
- 【Appnium+C#+Winform自动化测试系列】一、获取本机连接的设备、启动多个Appnium和获取本机启动的Appnium
本系列内容,准备根据所完成的项目为基线,一步一步的把整个设计和实现过程梳理. 先从基本的一些环境问题入手,梳理清楚关于手机设备和Appnium.因为我们在后面的建立Appnium连接时,需要设备名字和 ...
- angularjs自动化测试系列之jasmine
angularjs自动化测试系列之jasmine jasmine参考 html <!DOCTYPE html> <html lang="en"> <h ...
- angularjs自动化测试系列之karma
angularjs自动化测试系列之karma karma test with jasmine 更好的利用工具是为了让生活更美好. 需要安装的东西: npm install karma -g mkdir ...
- C# WinForm开发系列 - ListBox/ListView/Panel
转自会飞的小猪文章 C# WinForm开发系列 - ListBox/ListView/Panel 在博客园看到了一篇博文,觉得很不错,就转载过来了. 包含自定义绘制的ListBox, 带拖动, ...
- C# WinForm开发系列 - WebBrowser
原文:C# WinForm开发系列 - WebBrowser 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集 ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- C# WinForm开发系列 - 文章索引
该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...
- C# WinForm开发系列 - GDI+【转】
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI ...
- Cypress自动化测试系列之三
本文技术难度★★★,如果前编内容顺利执行,请继续. 如果Selenium尚无法灵活运用的读者,本文可能难度较大. “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打 ...
随机推荐
- 【算法系列学习】线段树 单点覆盖,区间查询最大值 [kuangbin带你飞]专题七 线段树 B - I Hate It
https://vjudge.net/contest/66989#overview #include<iostream> #include<cstdio> #include&l ...
- Vue2.0的变化 ,组件模板,生命周期,循环,自定义键盘指令,过滤器
组件模板: 之前: <template> <h3>我是组件</h3><strong>我是加粗标签</strong> </templat ...
- ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小
在使用Oralce时,直接取出 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换时,会出现ORA-22835的异常,以下是个人的解决方案 create or replace Function ...
- R语言分析(二)——薛毅R语言第二章后面习题解析
包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉 ...
- maven 聚合工程的创建和打包
---恢复内容开始--- 使用eclipse创建maven项目 第一步:创建父工程hg-parent,如图; 右击空白处,new创建新maven工程: 搜索maven项目 父工程使用pom打包方式 第 ...
- SUSE 11下安装DPDK
SUSE下安装与centos下安装有稍许不同: # cd dpdk-1.8.0 # grep -rn Werror . |grep -iE "Makefile|mk" |awk ...
- int类型和byte类型的强制类型转换
今天在读<Java网络编程>这本书的第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意的地方.这个地方有点细节,不过就应该把这种细节把握住. 情况是这样的,讲到In ...
- 取代netcat
前言 众所周知,netcat是网络界的瑞士军刀,它的主要作用是:提供连接其他终端的方法,可以上传文件,反弹shell等等各种利于别人控制你电脑的操作.所以聪明的系统管理员会将它从系统中移除,这样当别人 ...
- iOS 比较版本号大小的方法
比较iOS版本号大小 eg:3.2.0和3.1.0 或者 3.2.0和3.2比较 返回bool值变量YES or NO -(BOOL)compareVesionWithServerVersion:(N ...
- VHDL乘除法及转换
首先鄙视一下这个不智能的语言 1.要进行乘法与除法,数据类型必须是signed 2.两个16位的数相乘,结果必须是32位的 3.乘以2的n次幂的数可以直接乘,之后截位也比较方便,(其实直接移位就可以) ...