程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python Appium 模擬人為操作獲取app數據

編輯:Python

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、appium是什麼?
  • 二、使用步驟
    • 1.准備環境
    • 2.實現思路
    • 3.項目實現
  • 總結


前言

用appium 模擬人滑動操作來獲取app數據來避免經常換ip的情況,缺點是獲取數據的速度會相對較慢,本文就介紹了appium獲取數據內容。


一、appium是什麼?

1,appium是開源的移動端自動化測試框架;
2,appium可以測試原生的、混合的、以及移動端的web項目;
3,appium可以測試ios,android應用(當然了,還有firefox os);
4,appium是跨平台的,可以用在ios,windows以及linux桌面系統上;

二、使用步驟

1.准備環境

Appium Server GUI 1.22.3-4
Appium Inspector 2022.5.4
夜神模擬器 使用的安卓系統是5.1.1
安卓系統要打開開發者模式,開啟USB調試

2.實現思路

  1. 獲取數據

通過Appium來操作模擬器來獲取數據,用Appium Inspector,我們可以獲取到app內的數據的class,id,xpath等,來定位元素的中的數據。

  1. 判斷元素

通過這個方式只能獲取到屏幕上顯示的內容,所以要通過方法來判斷元素是存在代碼如下
代碼如下:

from selenium.common.exceptions import NoSuchElementException
def isElementPresent(by, value):
try:
driver.find_element(by=by, value=value)
except NoSuchElementException:
# 打印異常信息
# print(NoSuchElementException)
# 發生異常,說明頁面中未找到該元素,返回False
return False
else:
# 無異常,說明在頁面中找到了該元素,返回True
return True
  1. 模擬滑動
    模擬人為在滑動app內的內容,通過按住來獲取下面產生的新數據,想要滑動後沒有產生滑動慣性,就只能通過按下滑動後彈起松手,
    代碼如下:
from appium.webdriver.common.touch_action import TouchAction
# 獲取鼠標的位置
def get_size():
x = driver.get_window_size()['width']
y = driver.get_window_size()['height']
return(x,y)
l = get_size()
# 取寬的一半
x1 = int(l[0]*0.5)
# 從下面開始滑動
y1 = int(l[1]*0.8)
# 到上面的一個位置停止
y2 = int(l[1]*0.25)
action.long_press(x=x1 ,y=y1,duration=2000).move_to(x=x1,y=y2).release().perform()

3.項目實現


總結

以上就是今天要講的內容,本文簡單介紹了appium的使用,僅供學習交流使用


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved