手机自动化测试:Appium源码分析之跟踪代码分析七

 

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。poptest推出手机自动化测试的课程,讲解appuim的实际应用,培训全程用商业项目, 大家可以加qq群进行交流:195983133。

该模块中定义了36种不同的状态,以及状态的解释信息,还有一个模块方法,这个模块相对简单

36种状态

1个json字符串定义了36个元素,每一元素代表了一个状态,每一个状态有一个名称,然后对应一个json字符串,该json字符串中有code值和summary值:code为整形,summary值为string字符串。

var codes = {

Success: {

code: 0,

summary: 'The command executed successfully.'

},

NoSuchDriver: {

code: 6,

summary: 'A session is either terminated or not started'

},

NoSuchElement: {

code: 7,

summary: 'An element could not be located on the page using the given search parameters.'

},

NoSuchFrame: {

code: 8,

summary: 'A request to switch to a frame could not be satisfied because the frame could not be found.'

},

UnknownCommand: {

code: 9,

summary: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.'

},

StaleElementReference: {

code: 10,

summary: 'An element command failed because the referenced element is no longer attached to the DOM.'

},

ElementNotVisible: {

code: 11,

summary: 'An element command could not be completed because the element is not visible on the page.'

},

InvalidElementState: {

code: 12,

summary: 'An element command could not be completed because the element is in an invalid state (e.g. attempting to click a disabled element).'

},

UnknownError: {

code: 13,

summary: 'An unknown server-side error occurred while processing the command.'

},

ElementIsNotSelectable: {

code: 15,

summary: 'An attempt was made to select an element that cannot be selected.'

},

JavaScriptError: {

code: 17,

summary: 'An error occurred while executing user supplied JavaScript.'

},

XPathLookupError: {

code: 19,

summary: 'An error occurred while searching for an element by XPath.'

},

Timeout: {

code: 21,

summary: 'An operation did not complete before its timeout expired.'

},

NoSuchWindow: {

code: 23,

summary: 'A request to switch to a different window could not be satisfied because the window could not be found.'

},

InvalidCookieDomain: {

code: 24,

summary: 'An illegal attempt was made to set a cookie under a different domain than the current page.'

},

UnableToSetCookie: {

code: 25,

summary: 'A request to set a cookie\'s value could not be satisfied.'

},

UnexpectedAlertOpen: {

code: 26,

summary: 'A modal dialog was open, blocking this operation'

},

NoAlertOpenError: {

code: 27,

summary: 'An attempt was made to operate on a modal dialog when one was not open.'

},

ScriptTimeout: {

code: 28,

summary: 'A script did not complete before its timeout expired.'

},

InvalidElementCoordinates: {

code: 29,

summary: 'The coordinates provided to an interactions operation are invalid.'

},

IMENotAvailable: {

code: 30,

summary: 'IME was not available.'

},

IMEEngineActivationFailed: {

code: 31,

summary: 'An IME engine could not be started.'

},

InvalidSelector: {

code: 32,

summary: 'Argument was an invalid selector (e.g. XPath/CSS).'

},

SessionNotCreatedException: {

code: 33,

summary: 'A new session could not be created.'

},

MoveTargetOutOfBounds: {

code: 34,

summary: 'Target provided for a move action is out of bounds.'

},

NoSuchContext: {

code: 35,

summary: 'No such context found.'

}

};

一个模块方法

if (typeof module !== "undefined") {

//首先将codes所指的json字符串赋值给模块对象codes(可以供外部调用)

module.exports.codes = codes;

//然后定义供外部调用的函数getSummaryByCode

module.exports.getSummaryByCode = function (code) {

//以10进制来解析code

code = parseInt(code, 10);

for (var c in codes) {

if (typeof codes[c].code !== "undefined" && codes[c].code === code) {

//根据code值找到对应的summary描述信息

return codes[c].summary;

}

}

return 'An error occurred';

};

}

当其他模块加载status模块的时候,该模块自身会检查是否已经初始化过了,如果没有初始化,那就需要执行if方法体的代码。if方法就是将保存36种状态的json字符串串提供给外界,且提供了一个根据code值找到summary值的函数getSummaryByCode。

手机自动化测试:Appium源码分析之跟踪代码分析七的更多相关文章

  1. 手机自动化测试:Appium源码分析之跟踪代码分析九

    手机自动化测试:Appium源码分析之跟踪代码分析九   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家 ...

  2. 手机自动化测试:Appium源码分析之跟踪代码分析八

    手机自动化测试:Appium源码分析之跟踪代码分析八   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家 ...

  3. 手机自动化测试:Appium源码分析之跟踪代码分析六

    手机自动化测试:Appium源码分析之跟踪代码分析六   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest推出手机自 ...

  4. 手机自动化测试:Appium源码分析之跟踪代码分析五

    手机自动化测试:Appium源码分析之跟踪代码分析五   手机自动化测试是未来很重要的测试技术,作为一名测试人员应该熟练掌握,POPTEST举行手机自动化测试的课程,希望可以训练出优秀的手机测试开发工 ...

  5. 手机自动化测试:appium源码分析之bootstrap三

    手机自动化测试:appium源码分析之bootstrap三   研究bootstrap源码,我们可以通过代码的结构,可以看出来appium的扩展思路和实现方式,从中可以添加我们自己要的功能,针对app ...

  6. 手机自动化测试:appium源码分析之bootstrap二

    手机自动化测试:appium源码分析之bootstrap二   在bootstrap项目中的io.appium.android.bootstrap.handler包中的类都是对应的指令类, priva ...

  7. 手机自动化测试:appium源码分析之bootstrap一

    手机自动化测试:appium源码分析之bootstrap一   前言: poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.popte ...

  8. 手机自动化测试:appium源码分析之bootstrap十七

    手机自动化测试:appium源码分析之bootstrap十七   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  9. 手机自动化测试:appium源码分析之bootstrap十六

    手机自动化测试:appium源码分析之bootstrap十六   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

随机推荐

  1. [故障公告]博客站点遭遇超过20G的流量攻击被阿里云屏蔽

    2017年2月21日17:34,突然收到阿里云的通知: 您的IP受到攻击流量已超过云盾DDoS基础防护的带宽峰值,服务器的所有访问已被屏蔽,如果35分钟后攻击停止将自动解除否则会延期解除... 紧接着 ...

  2. 几分钟看完 flow.ci 全部功能

    从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flo ...

  3. 解读Java内部类

    一.基本概念: 顾名思义,内部类存在于外部类当中,依附于外部类.就像眼睛和脑袋的关系一样. 二.几点说明: 1.内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以 ...

  4. 【openstack N版】——镜像服务glance

    一.openstack镜像服务glance 1.1 glance介绍 glance主要是由三部分组成 glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(g ...

  5. console深入理解

    ["$$", "$x", "dir", "dirxml", "keys", "values ...

  6. 了解 : angular controller link ng-init 顺序

    controller 会先跑,接着是view 里的ng-init,最后是link (指令里的). 所有在指令里如果用link去拿$attr,会有拿不到ng-init想setup的值

  7. 小红帽5.9 配置静态IP上网问题

    本来无一物,何处染尘埃. DHCP连得好好的,手痒试下STATIC,静态IP 首先进入/etc/sysconfig/network-scripts/ifcfg-eth0, 写入各种参数: BOOTPR ...

  8. js检测数据类型的方法你都掌握了几个?

    //1.typeof检测/*var obg = {};var ary = [];var reg = /^$/;var fn = function () {};var num = 1;var bool ...

  9. python之SQLAlchemy ORM 上

    前言: SQLAlchmey是暑假学的,当时学完后也没及时写博客整理下.这篇博客主要介绍下SQLAlchemy及基本操作,写完后有空做个堡垒机小项目.下篇博客整理写篇关于Web框架和django基础~ ...

  10. PHP学习路线图

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 这里整理的PHP学习路线图包含初中高三个部分,你可以通过百度云盘下载观看对应的视频 链接: http://pan.baidu.com ...