Appium-Inspector
是Appium Desktop
中自带的一个查看元素的工具;appium
的服务是启动了;Appium
最新安装方法是使用npm
安装的,而不是Appium GUI
方式安装,那么这里目前是没有Appium Desktop
,也就没有Appium-Inspector
工具了;Appium-Inspector
。Appium GUI
方式安装的appium
,那么就有Appium Desktop
;Appium Desktop
安装完成之后,双击打开:
Start Server
按钮,启动 Appium server
,并开启监听本机 4723 端口;
Appium Inspector
:
appium
才有,但是我们用的最新版本的,需要单独安装了。windows
版本:
Appium-Inspector-windows-2023.11.1.exe
安装即可,安装完如下:
Appium Server
主要是对IP、端口和地址进行设置,其中地址默认配置/wd/hub
即可;Remote Host:127.0.0.1
Remote Port:4723
Remote Path:/wd/hub # 注意如果报错,请把/wd/hub改为/
Select Cloud Providers
则会出现云服务商的选择界面;server
即可。Advanced Settings
为高级配置;
Allow Unauthorized Certificates:允许未经授权的证书
Use Proxy:使用代理服务器
Desired Capabilities
配置这个和之前使用脚本启动道理是一样的;capabilities = dict(
platformName='Android',
automationName='uiautomator2',
deviceName='emulator-5554',
appPackage='com.tencent.mobileqqi',
appActivity='com.tencent.mobileqq.activity.SplashActivity',
language='en',
locale='US'
)
Appium
已经连接手机的session
了,那么直接选择Session ID
,加入就行了,不需要在进行配置了:
Start Session
,即可进入如下界面:
图标 | 名称 | 说明 |
---|---|---|
|
| 是否显示元素句柄 |
|
| 选择元素定位 |
|
| 按坐标点击/滑动 |
|
| 下载屏幕截图 |
|
| 按下后退按钮 |
|
| 按主页按钮 |
|
| 按应用程序切换按钮 |
|
| 本机应用程序模式 |
|
|
|
|
| 刷新源和屏幕截图 |
|
| 搜索元素 |
|
| 开始录制 |
|
| 退出会话并关闭检查器 |
App Source
是以XML格式显示界面上的控件布局;Selected Element
是对选择的元素进行详细的信息显示;accessibility id
、xpath
、elementId
、package
、class
等信息,在后续我们写代码的时候,使用元素定位的时候可以用到这些属性信息。Session Information
是关于这个Session
的详细信息,如下:
java
代码:
// This sample code supports Appium Java client >=9
// https://github.com/appium/java-client
import io.appium.java_client.remote.options.BaseOptions;
import io.appium.java_client.android.AndroidDriver;
import java.net.URL;
import java.time.Duration;
import java.util.Arrays;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
public class SampleTest {
private AndroidDriver driver;
@Before
public void setUp() {
var options = new BaseOptions()
.amend("platformName", "Android")
.amend("appium:automationName", "uiautomator2")
.amend("appium:deviceName", "emulator-5554")
.amend("appium:appPackage", "com.tencent.mobileqqi")
.amend("appium:appActivity", "com.tencent.mobileqq.activity.SplashActivity")
.amend("appium:language", "en")
.amend("appium:locale", "US")
.amend("appium:ensureWebviewsHavePages", true)
.amend("appium:nativeWebScreenshot", true)
.amend("appium:newCommandTimeout", 3600)
.amend("appium:connectHardwareKeyboard", true);
private URL getUrl() {
try {
return new URL("http://127.0.0.1:4723");
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
driver = new AndroidDriver(this.getUrl(), options);
}
@Test
public void sampleTest() {
}
@After
public void tearDown() {
driver.quit();
}
}
python
代码信息:# This sample code supports Appium Python client >=2.3.0
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
from appium.options.common.base import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
options = AppiumOptions()
options.load_capabilities({
"platformName": "Android",
"appium:automationName": "uiautomator2",
"appium:deviceName": "emulator-5554",
"appium:appPackage": "com.tencent.mobileqqi",
"appium:appActivity": "com.tencent.mobileqq.activity.SplashActivity",
"appium:language": "en",
"appium:locale": "US",
"appium:ensureWebviewsHavePages": True,
"appium:nativeWebScreenshot": True,
"appium:newCommandTimeout": 3600,
"appium:connectHardwareKeyboard": True
})
driver = webdriver.Remote("http://127.0.0.1:4723", options=options)
driver.quit()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。