一つの方法:
精通していることを、あなたは、Android SDKをインストールE:\ Androidの\ uiautomatorviewer.bat下アンドロイド-SDK \ toolsディレクトリには、単に携帯電話の位置決め要素を開くために、ダブルクリックすることができます
問題があります:
(1)adbのバージョンが低すぎることはできません
Androidの携帯電話の高バージョンについては(2)(アンドロイド9.0私は生と死ROMの遭遇)、見つけることができない接続することができません
第二の方法:
前提:あなたは、Java JDKをインストールする必要があります
(1)インストールSDK
AndroidのSDK(SDKをインストールする必要があります)をダウンロードします。
http://tools.android-studio.org/index.php/sdk
あなたは、システム変数に環境変数を追加する必要があります(新しいです)
ANDROID_HOME D:\ androidの\アンドロイド\ SDK(アドレスの独自のコピーを書いていません)
(2)インストールappiumサーバ
https://bitbucket.org/appium/appium.app/downloads/ インストールパッケージ住所:
(2以上のJava JDKがインストールされていることを確認するためにインストールする前に)appium-医師の検査環境:コマンドウィンドウにインストール
すべてのチェックが成功した見えるが正しいです
1、インストールWEditorは:cmdと入力し、PIPに入る インストール --pre --upgrade weditor
2は、オープンWEditor:では、cmdを入力してのpython -m weditorを、この時間は、自動的にデフォルトのブラウザを開きます。
weditorの問題はpython2.7にインストールすることができます
三つの方法:
appiunデスク
開始後に+記号をスタートアップコンフィギュレーションのクリックを追加します。
栗の場合:
{
"PlatformName": "アンドロイド"、#電話システム
"platformVersion": "9"、 #アンドロイド版
"DEVICENAME": "2f7e2ac9"、 #devicesはADBデバイスを取得するために名前がで見つけることができる
"真"、 "NORESET" #かかわらず、
"のpackageName": "com.oppopay.payments"、パッケージの名前をテストするための、アプリケーション#
"アプリ":絶対パス: "E \\ APITEST \\ Finshell_memory \\ Finshell_15_11_2019_UAT_v25.apk"、#のテストアプリケーション
"automationName": "uiautomator" #開始
}
すべてはこの事はappiumサービスにある[OK]をクリックします開始セッション(開始する前にこれを起動するappium必要)した後で最初に開かれなければなりません。
元素三种定位工具都讲完了,试下吧。。。
ps 关于滑动操作:
(1)才用appium时
分享一个公共函数:
# coding=utf-8
# 跳过浏览器引导
import time
class swipe(object):
def __init__(self, driver):
self.driver = driver
self.width = self.driver.get_window_size()['width']
self.height = self.driver.get_window_size()['height']
def swipetoUp(self):
time.sleep(10)
self.driver.swipe(self.width / 2, self.height * 3 / 4,
self.width / 2, self.height / 4, 0)
def swipetoDown(self):
time.sleep(5)
self.driver.swipe(self.width / 2, self.height / 3,
self.width / 2, self.height * 3 / 4, 0)
def swipetoLeft(self):
time.sleep(5)
self.driver.swipe(self.width * 0.9, self.height / 2,
self.width * 0.1, self.height / 2, 0)
def swipetoRight(self):
time.sleep(5)
self.driver.swipe(self.width * 0.1, self.height / 2,
self.width * 0.9, self.height / 2, 0)
appium启动应用 时:
# -*- coding: utf-8 -*-
from appium import webdriver
class startSession(object):
def __init__(self,desired_caps):
self.desired_caps = desired_caps
def run(self):
print '******* StartSession ******'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)
return self.driver
def desired_caps():
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7.1.1'
desired_caps['automationName'] = "uiautomator2"
desired_caps['deviceName'] ='2f7e2ac9'#YDBUJNYL8SNNPZGE 2f7e2ac9
desired_caps['noReset'] = 'true'
desired_caps['appActivity'] ='com.pay.payments.ui.activity.SplashActivity'
desired_caps['androidDeviceReadyTimeout'] = '180'
desired_caps['appPackage'] ='com.pay.payments'
return desired_caps
拿封装两个函数来启动
具体使用就是:
要导入这两个函数进来
driver = startSession(desired_caps()).run()
一行就搞定了启动应用
下面就是u2了
个人感觉做ui自动化 u2简单多了
启动应用
import uiautomator2 as u2
d = u2.connect()
# d.app_start('com.pay.payments') # 第二种启动app的方式
d.session('com.pay.payments') # 第三种启动app的方式
一句话就启动了应用对于appium 优势很明显。
但是u2对于appium 滑动操作比较麻烦:
d = u2.connect()
d(scrollable=True).scroll.to(text='Next')
这是我找到一个很好方式 滑动这个指定 内容的地方 以上就是滑动到Next 这里 页面会首先向上 然后向下找。