App自动化测试之企微打卡、快手刷金币
生活随笔
收集整理的這篇文章主要介紹了
App自动化测试之企微打卡、快手刷金币
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文為博主原創,未經許可嚴禁轉載。
本文鏈接:https://blog.csdn.net/zyooooxie/article/details/112169770
今天來分享下,app自動化腳本 我的實際應用:企業微信打卡、快手刷金幣。
個人博客:https://blog.csdn.net/zyooooxie
需求 + 解決思路
快手刷金幣
這個需求詳情:運行快手app,滑動頁面,賺金幣;
最終實現的思路:
企微打卡
這個需求詳情:
最終實現的思路:
【上班】
【下班】
com.kuaishou.nebula
代碼
為了減少麻煩,我把部分值做了替換
from appium import webdriver from time import sleep import randomclass KuaiShou(object):def desired(self):desired_caps = dict()desired_caps['platformName'] = 'zyooooxie'desired_caps['platformVersion'] = 'zyooooxie'desired_caps['deviceName'] = 'zyooooxie'desired_caps['appPackage'] = 'com.kuaishou.nebula'desired_caps['appActivity'] = 'zyooooxie'desired_caps['noReset'] = Truedesired_caps['newCommandTimeout'] = 600driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)driver.implicitly_wait(10)return driverdef start_app_slip(self):dr = self.desired()# print(dr.get_window_size())while True:sleep(random.randint(25, 45))dr.swipe(500, 1900, 500, 400, 1000)啟動 appium server
這兒說的是 appium-desktop;
com.tencent.wework
代碼
為了減少麻煩,我換了個寫法
class BasePage(object):def appium_desired(self, devices='phone'):desired_data = CommonFun.read_config(devices)desired_data = {d[0]: d[1] for d in desired_data}desired_caps = deepcopy(desired_data)desired_caps.update({'noReset': eval(desired_data['noReset'])})desired_caps.update({'unicodeKeyboard': eval(desired_data['unicodeKeyboard'])})desired_caps.update({'resetKeyboard': eval(desired_data['resetKeyboard'])})desired_caps.update({'newCommandTimeout': eval(desired_data['newCommandTimeout'])})desired_caps.pop('ip')desired_caps.pop('port')print(desired_caps)# desired_caps.update({'settings[waitForIdleTimeout]': 5000})driver = webdriver.Remote("http://{}:{}/wd/hub".format(desired_data['ip'], desired_data['port']), desired_caps)driver.implicitly_wait(15)return driverpytest的conftest.py
@pytest.fixture(scope='function') def driver():warnings.simplefilter('ignore', ResourceWarning)return_driver = BasePage().appium_desired(devices='phone')print('driver start...')yield return_driverreturn_driver.close_app()return_driver.quit()print('driver end...')上班的用例,隨便寫點 即可 【主要是啟動app】;
下班的用例,要定位元素,模擬人的"點點點";
page_go_off.py
from appium.webdriver.common.mobileby import MobileBy from common_functions.base_method import BaseMethodclass PageGoOff(BaseMethod):gongzuotai = (MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("工作臺")')daka = (MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("打卡")')xiabandaka = (MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().textContains("下班打卡").resourceId("com.tencent.wework:id/a5p")') @allure.epic('app測試報告') @allure.feature('模塊:GoOff') class TestGoOff(PageGoOff):@allure.title('下班')@allure.description('追求自由')def test_go_1(self, driver):# driver.find_element_by_android_uiautomator(self.gongzuotai[1]).click()self.find_element_and_wait(driver, *self.gongzuotai).click()self.find_element_and_wait(driver, *self.daka).click()abc = self.find_element_and_wait(driver, *self.xiabandaka)Log.info(abc.text)abc.click()sleep(5)Log.info('++++++++++++++++++++')jenkins的Job、計劃任務
實際寫了,也沒咋用;我本就有2個手機,“工作機” 裝的企微,在跑下班腳本報錯:死活找不到元素;
有些提醒:
交流技術 歡迎+QQ 153132336 zy
個人博客 https://blog.csdn.net/zyooooxie
總結
以上是生活随笔為你收集整理的App自动化测试之企微打卡、快手刷金币的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小度会是下一个苹果吗?
- 下一篇: monkeyrunner自动化测试工具-