python录制生成自动化脚本_appium-desktop录制脚本二次开发,生成我司自动化脚本...

目的

通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求。

实现步骤

1、增加元素名称的输入框

由于ATK(我司自动化测试框架)脚本中元素是以“app-page-element”的方式定位元素,所以需要用户输入page名称和element名称,并保存到数据库中。

1.1、实现方案

在现有的Tap、Send Keys、Clear操作上增加元素输入框操作,如图

1.2、代码修改

1.2.1、修改onClick方法

修改Inspector/SelectedElement.js 中tab、Tap、Send Keys、Clear的onClick方法,修改为通过在actions/Inspector.js中新增showSendElementNameModal()方法来控制弹出框, 该方法会把type设置为

SHOW_SEND_ELEMENT_NAME_MODAL, 在reducers/Inspector.js中中新增switch-case的一个分支,来设置sendElementNameModalVisible=true

export function showSendElementNameModal () {

return (dispatch) => {

dispatch({type: SHOW_SEND_ELEMENT_NAME_MODAL});

};

}

case SHOW_SEND_ELEMENT_NAME_MODAL:

return {

...state,

sendElementNameModalVisible: true

};

1.2.2、增加输入框

新增输入element的输入框,当sendElementNameModalVisible=true时该输入框显示,点击OK时,调用新增的handleSendElementName()方法,进行元素的获取和这是输入框隐藏

handleSendElementName () {

const {sendElementName, applyClientMethod, hideSendElementNameModal, selectedElementId: elementId} = this.props;

applyClientMethod({methodName: ‘click‘, elementId});

hideSendElementNameModal();---同showSendElementNameModal()方法

}

2、保存元素名称到数据库

表单提交元素名称后,需要把元素名称保存到数据库中,

2.1、实现方案

使用react已经引入JQuery的网络请求方案。通过POST方式把数据提交到数据库中

2.2、代码修改

Framework.js是各个语言录制脚本(java.js、python.js、ruby.js等)的父类。所以在Framework.js中进行数据库的统一添加

2.2.1、传参修改

Framework.js 的getCodeString()方法 增加sendElementName参数。通过RecordedActions传递过来。代码修改如下

2.2.2、post请求

其中page、element、expectedvalue需要用户填写,其它值可以通过代码获取。

postJSON() {

var obj = { "app":"guanjia", "element":‘aaaa‘, "expectedimg":"bbbb","expectedvalue": "cccc","os": "Android","page": "eeee","type": "id","value": "rwa"};--测试数据

const req = new XMLHttpRequest()

req.open(‘POST‘, ‘http://10.247.39.5:7070/wisper/api/v1/atk/appium/elementinfo‘)

req.setRequestHeader(‘Content-Type‘, ‘application/json;charset=UTF-8‘)

req.send(JSON.stringify(obj))

}

getCodeString (includeBoilerplate = false,sendElementName) {--新增sendElementName参数

this.postJSON();----增加对提交数据方法的调用

let str = ‘‘;

for (let {action, params} of this.actions) {

............

............

...........

}

3、修改录制脚本

每个语言都有一个js,我们主要修改java.js. 把return 结果改为ATK格式即可。

原文:https://www.cnblogs.com/leohou/p/10786746.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值