appium可以通过修改哪些系统属性或者环境变量来绕过识别
时间: 2023-10-08 14:10:18 浏览: 43
Appium 可以通过修改以下系统属性或环境变量来尝试绕过应用的识别:
1. "isTest" 或类似的属性:Appium 可能会在启动应用时设置一个名为 "isTest" 的属性,其值为 true。应用可以检查该属性的值来判断是否在测试环境中运行。
2. "AutomationName" 属性:Appium 默认在启动应用时会设置一个名为 "AutomationName" 的属性,其值为 "Appium"。应用可以通过检查该属性的值来判断是否在 Appium 测试环境中运行。
3. "UDID" 属性:Appium 在连接设备时会设置一个名为 "UDID" 的属性,其值为设备的唯一标识符。应用可以通过检查该属性的值来判断是否在 Appium 测试环境中运行。
4. "appPackage" 和 "appActivity" 属性:Appium 在启动应用时可能会设置这两个属性,用于指定要启动的应用的包名和启动的 Activity。应用可以通过检查这两个属性的值是否与预期的值匹配来判断是否在 Appium 测试环境中运行。
需要注意的是,这些属性和环境变量可以被修改或伪造,因此这种方式并不是绝对可靠的。开发人员通常不会依赖这些属性来确定是否在测试环境中运行,而是通过其他更可靠的方式来进行判断。
相关问题
appium这些规避识别的属性和环境变量该如何设置
为了规避应用的识别,可以尝试修改以下属性和环境变量:
1. "isTest" 或类似的属性:可以在启动应用之前设置一个名为 "isTest" 的属性,并将其值设置为 true。这样应用可能会认为它是在测试环境中运行。
2. "AutomationName" 属性:可以在启动应用之前设置一个名为 "AutomationName" 的属性,并将其值设置为一个与 Appium 不相关的值。这样应用可能会认为它不是在 Appium 测试环境中运行。
3. "UDID" 属性:可以在连接设备时设置一个名为 "UDID" 的属性,并将其值设置为一个与实际设备的唯一标识符不相关的值。这样应用可能无法正确识别设备。
4. "appPackage" 和 "appActivity" 属性:可以在启动应用之前设置这两个属性,并将其值设置为与实际应用的包名和启动的 Activity 不相关的值。这样应用可能无法正确识别应用。
需要注意的是,具体如何设置这些属性和环境变量取决于你使用的编程语言和测试框架。你可以查阅相关文档或搜索相关教程来了解如何在你的测试代码中进行设置。同时,这些设置可能并不总是有效,因为应用的识别机制可能是多种多样的,而且开发人员可能会使用其他更可靠的方式来判断是否在测试环境中运行。
可以用python来展示一下这些属性和环境变量是如何修改的吗
当使用 Python 编写 Appium 测试脚本时,你可以使用 os 模块来修改环境变量,而无需直接修改系统属性。下面是一个示例,展示了如何使用 Python 来修改一些常见的环境变量:
```python
import os
# 修改 isTest 属性
os.environ['isTest'] = 'true'
# 修改 AutomationName 属性
os.environ['AutomationName'] = 'NotAppium'
# 修改 UDID 属性
os.environ['UDID'] = '1234567890'
# 修改 appPackage 和 appActivity 属性
os.environ['appPackage'] = 'com.example.app'
os.environ['appActivity'] = 'com.example.app.MainActivity'
```
注意,这些修改只会在当前 Python 进程中生效,并且对于启动的应用程序来说,并非总是有效。应用程序可能会使用其他更可靠的方式来判断是否在测试环境中运行,例如使用特定的测试标志或者检查设备是否连接到 Appium 服务器等。
请根据你的具体测试需求和应用程序的识别机制,灵活调整这些属性和环境变量的修改方式。