前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Appium系列(二十八)增加链接STF设备,释放设备

Appium系列(二十八)增加链接STF设备,释放设备

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

在上面的文章,我们在之前的封装的stf的操作上,我们增加了一层,这样更加方便我们自动化的操作,封装好后,如何在之前的测试代码中引入呢?本文揭秘。

正文

我们要在测试前,对于我们需要的测试的设备进行选择,选择完毕后,配置到框架的stfconnect.json文件中。如何选择我们的设备呢,就要根据我们的测试的场景来选择。我们目前的方案,针对于连接设备呢,我们采用的在一个配置文件中的一次性来配置。

我们配置完,我们要执行的测试用例的设备,那么接下来,我们就是如何在自动化代码中引入。

引入的方式其实是简单的,就是在我们识别设备的前面,我们去连接STF的设备,然后在执行测试完毕后,我们去释放我们的要连接的测试设备即可。

我们先要导入我们的STF操作的封装的模块。

代码语言:javascript
复制
from common.StfTestPhoneUntil import *

接下来,我们就是在查找连接的设备的时候,去链接我们需要的设备。

代码语言:javascript
复制
def run():
    opear=OpearPhoneTestPhone()
    opear.opearphone()
    if test_phone_type=="Android":
        devices=get_devices()
    elif test_phone_type=="IOS":
        devices=getdeviceslist()
    else:
        devices=[]

我们什么时候释放呢,释放在我们的测试完毕的时候。这里我们在之前的时候有一个点,可以利用,就是我们执行完毕会关闭我们的服务,那么我们现在把释放机器的操作就放在关闭服务之后,在之前操作的时候,我们处理了异常,为了更加准确的释放机器,我们在异常处理阶段我们释放了机器。

代码语言:javascript
复制
 try:
            stop_server(port_list)
            opear.realese()
        except Exception as e:
            opear.realese()
            print("关闭服务失败,原因:%s" % e)

当然这是一种方案,其实,我们可以在finally中释放。

代码语言:javascript
复制
 try:
            stop_server(port_list)
        except Exception as e:
            print("关闭服务失败,原因:%s" % e)
        finally:
            opear.realese()

那么我们修改后的run方法如下:

代码语言:javascript
复制
def run():
    opear=OpearPhoneTestPhone()
    opear.opearphone()
    if test_phone_type=="Android":
        devices=get_devices()
    elif test_phone_type=="IOS":
        devices=getdeviceslist()
    else:
        devices=[]

    port_list = []
    if len(devices) > 0:
        for dev in devices:
            app = {}
            app["devices"] = dev
            port = str(random.randint(5641, 5646))
            app["port"] = port
            port_list.append(port)
            l_devices.append(app)
        start(port_list)
        runnerPool(l_devices)
        try:
            stop_server(port_list)
        except Exception as e:
            print("关闭服务失败,原因:%s" % e)
        finally:
            opear.realese()
    else:
        print('请链接测试设备')

这样我们就在框架中引入了stf的框架。我们把Appium自动化框架与stf的设备管理平台关联了起来。

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

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

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

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

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