Appium+Python Remote 多次连接问题

TestWhite 测试交流评论94字数 1353阅读模式

软件版本信息:
Appium-Python-Client 2.6.0
Python 3.10
问题描述:
我把 appium 常用的方法进行的简单的封装,添加了一些自定义日志信息例如以下代码:
这样可以提供给功能测试人员使用我们工具在 xml 中调用当前的方法传入所需参数即可实现自动化.

@classmethod
def clickElementById(cls, serial: str, element: str):
"""
根据元素id查找元素并点击
:param serial: 执行操作的设备名称
:param element: 元素名
:return: status PASS or FAIL
"""
status = "FAIL"
driver = None
try:
driver = cls.__driver(serial)
el = driver.find_element(ID, element)
if el:
el.click()
status = "PASS"
print(f"Method {def_name()} execute success, return: {status}")
except NoSuchElementException as e:
print(f"Method {def_name()} throw exception as blow:")
print(f"Can't find element {element}")
except MaxRetryError as e:
# TODO: 是否可以在这里做appium server处理
            print("Server has been destroyed,please restart!!!")
finally:
driver.quit()
return status

问题点:
每一次调用都存在重新 webdriver.Remote(url, caps) 一次,非常影响测试效率
直接调用:文章源自玩技e族-https://www.playezu.com/193043.html

import os
import time
from appium import webdriver
class GlobalMethods(object):
def __init__(self):
self.cmd = f"start appium -p 4726"
self.url = "http://127.0.0.1:4726/wd/hub"
self.__server()
def __server(self):
os.system(self.cmd)
def driver(self):
caps = dict()
caps['platformName'] = 'Android'
caps['automationName'] = 'UiAutomator2'
caps['udid'] = "R1J57L11c09345"
return webdriver.Remote(self.url, caps)
if __name__ == '__main__':
s_time = time.time()
app = GlobalMethods().driver()
app.press_keycode(3)
app.back()
c_time = time.time()
ss_time = c_time - s_time
print(ss_time)
print('%s 秒' % ss_time)

请问各位大佬有没有什么方式可以解决这样的问题? ps:我司目前大部分属于功能测试,所以提供出公共方法是有必要的文章源自玩技e族-https://www.playezu.com/193043.html

软件测试是文章源自玩技e族-https://www.playezu.com/193043.html 文章源自玩技e族-https://www.playezu.com/193043.html

玩技站长微信
添加好友自动发送入群邀请
weinxin
rainbow-shownow
玩技官方公众号
官方微信公众号
weinxin
PLAYEZU
 
  • 版权提示:本站仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
    风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系2523030730
    免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加联系方式以免受骗。
  • 原创转载:https://www.playezu.com/193043.html
    转载说明: 点我前往阅读>>>
匿名

发表评论

匿名网友
确定