1 Star 0 Fork 5

忘语/ HogwartsSDET22App

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test_workbench.py 3.51 KB
一键复制 编辑 原始数据 按行查看 历史
xixi_tech 提交于 2022-03-06 15:54 . 实战2 删除联系人
"""
__author__ = '霍格沃兹测试开发学社'
__desc__ = '更多测试开发技术探讨,请访问:https://ceshiren.com/t/topic/15860'
"""
import datetime
import time
from time import sleep
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from selenium.common.exceptions import NoSuchElementException
class TestWorkbench:
def setup(self):
# 打开应用
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "hogwarts"
# mac/linux: adb logcat ActivityManager:I | grep "cmp"
# windows: adb logcat ActivityManager:I | findstr "cmp"
caps["appPackage"] = "com.tencent.wework"
caps["appActivity"] = ".launch.LaunchSplashActivity"
caps['skipServerInstallation'] = 'true' # 跳过 uiautomator2 server的安装
caps['skipDeviceInitialization'] = 'true' # 跳过设备初始化
# caps['settings[waitForIdleTimeout]']= 0 # 等待页面完全加载完成的时间
caps["noReset"] = "True"
# 最重要的一句,与远程服务建立连接,返回一个 session 对象
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
# 在调用find_element() 的时候,会每隔0.5秒查找一次元素,
self.driver.implicitly_wait(5)
def teardown(self):
# 关闭应用
self.driver.quit()
def swipe_find(self, text, num=3):
# 滑动查找元素
self.driver.implicitly_wait(1)
for i in range(num):
try:
element = self.driver.find_element(MobileBy.XPATH, f"//*[@text='{text}']")
self.driver.implicitly_wait(5)
return element
except:
print("未找到")
size = self.driver.get_window_size()
# 'width', 'height'
width = size.get("width")
height = size.get("height")
start_x = width / 2
start_y = height * 0.8
end_x = start_x
end_y = height * 0.3
self.driver.swipe(start_x, start_y, end_x, end_y, duration=2000)
if i == num - 1:
self.driver.implicitly_wait(5)
raise NoSuchElementException(f"找了{num}次,未找到")
def get_time(self):
t = time.localtime()
cur_time = time.strftime("%Y-%m-%d_%H:%M:%S", t)
print(f"当前时间为:{cur_time}")
def test_daka(self):
"""
前提条件:
1、提前注册企业微信管理员帐号
2、手机端安装企业微信
3、企业微信 app 处于登录状态
实现打卡功能
打开【企业微信】应用
进入【工作台】页面
点击【打卡】
选择【外出打卡】tab
点击【第 N 次打卡】
验证点:提示【外出打卡成功】
"""
self.driver.find_element(MobileBy.XPATH, "//*[@text='工作台']").click()
# 滑动查找
self.swipe_find("打卡").click()
# self.driver.update_settings({"waitForIdleTimeout": 0})
# print(time.time())
self.get_time()
self.driver.find_element(MobileBy.XPATH, "//*[@text='外出打卡']").click()
self.driver.find_element(MobileBy.XPATH, "//*[contains(@text,'次外出')]").click()
# print(time.time())
self.get_time()
# 验证
self.driver.find_element(MobileBy.XPATH, "//*[@text='外出打卡成功']")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/forgetting-words/hogwarts-sdet22-app.git
git@gitee.com:forgetting-words/hogwarts-sdet22-app.git
forgetting-words
hogwarts-sdet22-app
HogwartsSDET22App
master

搜索帮助