前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium系列(二十七)再次对于封装后的stf代码进行改造

Appium系列(二十七)再次对于封装后的stf代码进行改造

作者头像
雷子
发布2021-05-27 15:07:44
4320
发布2021-05-27 15:07:44
举报
文章被收录于专栏:雷子说测试开发
前言

更正下,上一篇文章应该是系列的第二十六篇。本文是第二十七篇。上一篇Appium系列(二十五)封装操作stf的方法我们对stf的方法进行一次封装,但是这次封装完毕呢,在对于我们的测试代码来说,还是不能一次使用的。中间还得需要处理,那么我们应该怎么办呢。本文带你揭秘。

正文

我们在思考,我们要把方法打造成为一个更加自动化,那么我们申请设备的,我们要做成可以配置的设备。根据配置的,我们可以自动申请设备,进行测试,测试完毕后,我们归还设备即可。那么我们需要对于我们的现有的方法做改造。

01

改造原来的adbtool

1.增加远程连接设备操作

2.增加释放远程设备操作

如何实现呢,很简单,我们可以根据

代码语言:javascript
复制
adb connect **
adb disconnect **

来处理,具体如何实现呢。代码展示

代码语言:javascript
复制
def connectphone(connecturl:str)->bool:
    os.popen("adb connect %s" % connecturl)
    reslut = os.popen("adb devices").read()
    devices = str(reslut).split("\n")
    for i in devices[1:]:
        if i!="" and i.split("\t")[0].split(" ")[0] ==connecturl:
            return True
    return False
def unconnectphone(connecturl:str):
    os.popen("adb disconnect %s"%connecturl)

02

定义设备连接信息的配置化

我们就是实现如何远程连接设备,操作设备了,为了方便呢,我们把要测试的设备呢,存在json文件中,格式如下:

代码语言:javascript
复制
{
  "devices": ["192.168.56.107:5555"]
}

03

实现设备连接释放设备公共方法

有了链接设备,断开设备,测试需要设备配置文件,那么我们接下来就是封装方法。

主要提供:链接测试所需设备,断开测试设备。

注:方法我暂时存放在了StfTestPhoneUntil.py

代码语言:javascript
复制
class OpearPhoneTestPhone(object):
    '''操作设备'''
    def __init__(self):
        self.path=os.path.join(os.path.join(os.getcwd(),'common'),'stfconnect.json')
        self.json=json.load(self.path)
        self.devices=self.json['devices']
        self.stfphone=StfPhoneOpear()
    '''申请设备'''
    def opearphone(self)->bool:
        all_list_phone = self.stfphone.getstflist()
        if len(self.devices)>0:
            for device in all_list_phone:
                if device in self.devices and device['user'] is False :
                    connect_result=connectphone(device['remoteConnectUrl'])
                    if connect_result:
                        continue
            return True
        else:
            return  False
    '''释放设备'''
    def realese(self):
        all_list_phone=self.stfphone.getstflist()
        if len(self.devices) > 0:
            for device in all_list_phone:
                if device in self.devices and device['user'] is True:
                    connecturl = device['remoteConnectUrl']
                    unconnectphone(connecturl)
                    self.stfphone.removeroneophen(device['serial'])

封装好了方法,以及可以根据配置文件申请设备,接下来就可以在把这里做进到测试框架。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档