Desired Capabilities详解//转自test.net.com 乙醇

Desired Capabilities在启动session的时候是必须提供的。

Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情:

  • 本次测试是启动浏览器还是启动移动设备?
  • 是启动andorid还是启动ios?
  • 启动android时,app的package是什么?
  • 启动android时,app的activity是什么?

Appium的Desired Capabilities是扩展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的:

  • automationName:使用哪种自动化引擎。appium(默认)还是Selendroid?
  • platformName:使用哪种移动平台。iOS, Android, orFirefoxOS?
  • deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc…
  • app:应用的绝对路径,注意一定是绝对路径。如果指定了appPackage和appActivity的话,这个属性是可以不设置的。另外这个属性和browserName属性是冲突的。
  • browserName:移动浏览器的名称。比如Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android;与app属性互斥。
  • udid:物理机的id。比如1ae203187fc012g。

下面这些属性是android平台特定的:

  • appActivity:待测试的app的Activity名字。比如MainActivity, .Settings。注意,原生app的话要在activity前加个”.“。
  • appPackage:待测试的app的java package。比如com.example.android.myApp, com.android.settings。

本文主要讨论android平台的appium测试方法和技巧,因此在这里就不列出ios设备特定的属性了。

更多信息请参考官方文档

在这里我们发现,我们经常要获取app的package和activity名字,那么有什么工具可以让我们方便的获取到这些信息呢?

方法1:(效率最高的)
问开发人员

方法2:appt 命令(想自立的测试人员可以考虑这个,很好用)

aapt dump badging <file_path.apk>

aapt工具android sdk的tools文件夹下,自带的工具。
把[Android_sdkPath]/sdk/tools添加到环境变量中,整个shell或批处理。

方法3:adb shell  
logcat | grep cmp=

方法4: hierarchy view

方法3,方法4本人没实践过

### 如何设置npm配置以切换到不同的registry镜像源 #### 设置全局npm镜像源 可以通过`npm config set registry`命令来更改npm的全局镜像源。例如,要将npm的源设置为淘宝镜像源,则可以运行以下命令: ```bash npm config set registry https://registry.npmmirror.com/ ``` 此操作会将npm的注册表地址更改为淘宝镜像源[^1]。 为了确认是否成功设置了新的镜像源,可使用如下命令查看当前的npm注册表地址: ```bash npm config get registry ``` 如果返回的结果是 `https://registry.npmmirror.com/` 或者其他所设的目标地址,则表明已成功完成设置[^3]。 #### 临时指定镜像源 如果不希望永久改变全局的npm镜像源,在执行单次安装时可以直接通过`--registry`参数指定特定的镜像源。例如,当需要仅针对某一次安装操作使用淘宝镜像时,可以这样调用: ```bash npm install --registry=https://registry.npmmirror.com/ ``` 这种方式不会影响全局配置,适用于偶尔需要更换源的情况。 #### 切换回官方源 若需恢复至npm官方源,可通过下面这条指令实现: ```bash npm config set registry https://registry.npmjs.org/ ``` 这一步骤有助于排查因第三方镜像引起的潜在问题,同时也适合那些偏好直接依赖于官方资源库的开发者们[^4]。 #### Yarn用户的额外选项 对于Yarn用户而言,类似的调整也适用。比如想要把Yarn的默认下载源改成淘宝提供的加速服务版本,只需简单地执行这一条语句即可: ```bash yarn config set registry https://registry.npm.taobao.org ``` 同样地,验证变更是否生效以及重置到原始状态分别对应着这两步动作: - 查看现有配置:`yarn config get registry` - 还原成国际版官网链接:`yarn config set registry https://registry.yarnpkg.com` ```python # 示例Python脚本用于演示如何自动化检测并修复NPM/YARN源问题(伪代码性质) import subprocess def check_and_fix_registry(package_manager, desired_registry): current_registry = subprocess.check_output([package_manager, 'config', 'get', 'registry']).decode('utf-8').strip() if current_registry != desired_registry: print(f"Registry mismatch detected. Current:{current_registry}, Desired:{desired_registry}. Attempting to fix...") try: subprocess.run([package_manager, 'config', 'set', 'registry', desired_registry], check=True) new_registry = subprocess.check_output([package_manager, 'config', 'get', 'registry']).decode('utf-8').strip() if new_registry == desired_registry: print("Fix successful.") else: print("Failed to update the registry properly.") except Exception as e: print(f"An error occurred while trying to change the registry: {e}") check_and_fix_registry('npm', 'https://registry.npmmirror.com/') check_and_fix_registry('yarn', 'https://registry.npm.taobao.org') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值