【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尚无法灵活运用的读者,本文可能难度较大. “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打 ...
随机推荐
- 浅析SQL Server数据库中的伪列以及伪列的含义
SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...
- jQuery操作css样式
jQuery操作css样式 css操作的分类: css操作 位置操作 尺寸操作 css操作之css css代码: html代码: jQuery代码: 效果如下: css操作之位置操作 css代码: h ...
- 张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号
考虑到 Raspberry Pi 读取模拟信号是很烦人的事情,更何况是在没人玩的 Windows 10 IoT 下,所以准备正儿八经的写点东西. 需求:使用 Raspberry Pi 读取输出模拟信号 ...
- JVM类加载续
上一篇理解了JVM类加载过程的第一个阶段,这篇来说说剩下的阶段:验证.准备.解析.初始化.需要注意的是,这些阶段(解析除外)只是按照这个顺序开始,但是执行的过程中可能存在交叉. 验证:就是要对加载的二 ...
- Java垃圾回收--判断可触及性
博客搬家自https://my.oschina.net/itsyizu/blog/ 垃圾回收的基本思想: 考察每一个对象的可触及性(从根节点开始是否可以访问到这个对象,如果可以,这说明当前对象正在使用 ...
- sublime text3 支持终端打开文件
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
- 你真的了解WebSocket吗?
WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...
- java 线程方法join的简单总结
虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间 ...
- Spring Boot 学习(2)
文 by / 林本托 Tips 做一个终身学习的人. 源代码:github下的/code01/ch2. 配置 Web 应用程序 在上一章中,我们学习了如何创建一个基本的应用程序模板,并添加了一些基本功 ...
- glmnetUtils: quality of life enhancements for elastic net regression with glmnet
The glmnetUtils package provides a collection of tools to streamline the process of fitting elastic ...