Appium+python自动化(三十五)- 命令启动appium之 appium服务命令行参数(超详解)

简介

前边介绍的都是通过按钮点击启动按钮来启动appium服务,有的小伙伴或者童鞋们乍一听可能不信,或者会问如何通过命令行启动appium服务呢?且听一一道来。

一睹为快

其实相当的简单,不看不知道,一看吓一跳,直接在docs命令窗口输入命令:appium 就可以运行起appium

这回小伙伴和童鞋们相信了吧,都启动来了。

第一行:欢迎使用Appium,版本 v1.8.1

第二行:Appium启动成功,启动ip为默认的 0.0.0.0,端口为默认的 4723;默认即表示“不指定”的情况下;

默认端口4723。此时小伙伴或者童鞋们又会问,那么如何修改端口了,不要急,听宏哥慢慢地道来。

修改appium启动端口

appium启动默认端口4723,如果要指定端口,通过以下命令:appium -p 端口号,例图修改端口4725

2个端口

指定端口的设备,输入命令:appium -p 端口1 -bp 端口2 设备编号

appium -a 127.0.0.1 -p 4723 --session-override

-a 是指定监听的ip(也可写成 --address),后面“127.0.0.1”可以改为你需要的ip地址;

-p 是指定监听的端口(也可写成 --port),也可以修改为你需要的端口;

--session-override 是指覆盖之前的session;

appium -a 127.0.0.1 -p 4727 -bp 4728 --chromedriver-port 9519 -U xiaomi --session-override

-bp 是连接Android设备bootstrap的端口号,默认是4724(也可写成--bootstrap-port)

--chromedriver-port 是chromedriver运行需要指定的端口号,默认是9515

-U 是连接的设备名称,如"adb devices"获取的设备标识(也可写成--udid)

服务器标志

所有的标志都是可选的,但是有一些标志需要组合在一起才能生效。

标志默认值描述例子
--shellnull进入 REPL 模式
--localizable-strings-diren.lprojIOS only: 定位 .strings所在目录的相对路径--localizable-strings-dir en.lproj
--appnulliOS: 基于模拟器编译的 app 的绝对路径或者设备目标的 bundle_id; Android: apk 文件的绝对路径--app /abs/path/to/my.app
--ipanull(IOS-only) .ipa 文件的绝对路径--ipa /abs/path/to/my.ipa
-U--udidnull连接物理设备的唯一设备标识符--udid 1adsf-sdfas-asdf-123sdf
-a--address0.0.0.0监听的 ip 地址--address 0.0.0.0
-p--port4723监听的端口--port 4723
-ca--callback-addressnull回调IP地址 (默认: 相同的IP地址)--callback-address 127.0.0.1
-cp--callback-portnull回调端口号 (默认: 相同的端口号)--callback-port 4723
-bp--bootstrap-port4724(Android-only) 连接设备的端口号--bootstrap-port 4724
-k--keep-artifactsfalse弃用,无效。trace信息现在保留tmp目录下,每次运行前会清除该目录中的信息。 也可以参考 –trace-dir 。
-r--backend-retries3(iOS-only) 遇到 crash 或者 超时,Instrument 重新启动的次数。--backend-retries 3
--session-overridefalse允许 session 被覆盖 (冲突的话)
--full-resetfalse(iOS) 删除整个模拟器目录。 (Android) 通过卸载应用(而不是清除数据)重置应用状态。在 Android 上,session 完成后也会删除应用。
--no-resetfalsesession 之间不重置应用状态 (iOS: 不删除应用的 plist 文件; Android: 在创建一个新的 session 前不删除应用。)
-l--pre-launchfalse在第一个 session 前,预启动应用 (iOS 需要 –app 参数,Android 需要 –app-pkg 和 –app-activity)
-lt--launch-timeout90000(iOS-only) 等待 Instruments 启动的时间
-g--lognull将日志输出到指定文件--log /path/to/appium.log
--log-leveldebug日志级别; 默认 (console[:file]): debug[:debug]--log-level debug
--log-timestampfalse在终端输出里显示时间戳
--local-timezonefalse使用本地时间戳
--log-no-colorsfalse不在终端输出中显示颜色
-G--webhooknull同时发送日志到 HTTP 监听器--webhook localhost:9876
--native-instruments-libfalse(IOS-only) iOS 内建了一个怪异的不可能避免的延迟。我们在 Appium 里修复了它。如果你想用原来的,你可以使用这个参数。
--app-pkgnull(Android-only) 你要运行的apk的java包。 (例如, com.example.android.myApp)--app-pkg com.example.android.myApp
--app-activitynull(Android-only) 打开应用时,启动的 Activity 的名字(比如, MainActivity)--app-activity MainActivity
--app-wait-packagefalse(Android-only) 你想等待的 Activity 的包名。(比如, com.example.android.myApp)--app-wait-package com.example.android.myApp
--app-wait-activityfalse(Android-only) 你想等待的 Activity 名字(比如, SplashActivity)--app-wait-activity SplashActivity
--android-coveragefalse(Android-only) 完全符合条件的 instrumentation 类。 作为命令 adb shell am instrument -e coverage true -w 的 -w 的参数--android-coverage com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
--avdnull(Android-only) 要启动的 avd 的名字
--avd-argsnull(Android-only) 添加额外的参数给要启动avd--avd-args -no-snapshot-load
--device-ready-timeout5(Android-only) 等待设备准备好的时间,以秒为单位--device-ready-timeout 5
--safarifalse(IOS-Only) 使用 Safari 应用
--device-namenull待使用的移动设备名字--device-name iPhone Retina (4-inch), Android Emulator
--platform-namenull移动平台的名称: iOS, Android, or FirefoxOS--platform-name iOS
--platform-versionnull移动平台的版本--platform-version 7.1
--automation-namenull自动化工具的名称: Appium or Selendroid--automation-name Appium
--browser-namenull移动浏览器的名称: Safari or Chrome--browser-name Safari
--default-device-ddfalse(IOS-Simulator-only) 使用instruments自己启动的默认模拟器
--force-iphonefalse(IOS-only) 无论应用要用什么模拟器,强制使用 iPhone 模拟器
--force-ipadfalse(IOS-only) 无论应用要用什么模拟器,强制使用 iPad 模拟器
--languagenulliOS / Android 模拟器的语言--language en
--localenullLocale for the iOS simulator / Android Emulator--locale en_US
--calendar-formatnull(IOS-only) iOS 模拟器的日历格式--calendar-format gregorian
--orientationnull(IOS-only) 初始化请求时,使用 LANDSCAPE (横屏) 或者 PORTRAIT (竖屏)--orientation LANDSCAPE
--tracetemplatenull(IOS-only) 指定 Instruments 使用的 tracetemplate 文件--tracetemplate /Users/me/Automation.tracetemplate
--show-sim-logfalse(IOS-only) 如果设置了, iOS 模拟器的日志会写到终端上来
--show-ios-logfalse(IOS-only) 如果设置了, iOS 系统的日志会写到终端上来
--nodeconfignull指定 JSON 格式的配置文件 ,用来在 selenium grid 里注册 appiumd--nodeconfig /abs/path/to/nodeconfig.json
-ra--robot-address0.0.0.0robot 的 ip 地址--robot-address 0.0.0.0
-rp--robot-port-1robot 的端口地址--robot-port 4242
--selendroid-port8080用来和 Selendroid 交互的本地端口--selendroid-port 8080
--chromedriver-port9515ChromeDriver运行的端口--chromedriver-port 9515
--chromedriver-executablenullChromeDriver 可执行文件的完整路径
--use-keystorefalse(Android-only) 设置签名 apk 的 keystore
--keystore-path(Android-only) keystore 的路径
--keystore-passwordandroid(Android-only) keystore 的密码
--key-aliasandroiddebugkey(Android-only) Key 的别名
--key-passwordandroid(Android-only) Key 的密码
--show-configfalse打印 Appium 服务器的配置信息,然后退出
--no-perms-checkfalse跳过Appium对是否可以读/写必要文件的检查
--command-timeout60默认所有会话的接收命令超时时间 (在超时时间内没有接收到新命令,自动关闭会话)。 会被新的超时时间覆盖
--keep-keychainsfalse(iOS) 当 Appium 启动或者关闭的时候,是否保留 keychains (Library/Keychains)
--strict-capsfalse如果所选设备是appium不承认的有效设备,会导致会话失败
--isolate-sim-devicefalseXcode 6存在一个bug,那就是一些平台上如果其他模拟器设备先被删除时某个特定的模拟器只能在没有任何错误的情况下被建立。这个选项导致了Appium不得不删除除了正在使用设备以外其他所有的设备。请注意这是永久性删除,你可以使用simctl或xcode管理被Appium使用的设备类别。
--tmpnull可以被Appium用来管理临时文件的目录(绝对路径),比如存放需要移动的内置iOS应用程序。 默认的变量为 APPIUM_TMP_DIR ,在 *nix/Mac 为 /tmp 在windows上使用环境便令 TEMP 设定的目录。
--trace-dirnull用于保存iOS instruments trace的 appium 目录,是绝对路径, 默认为 /appium-instruments
--intent-actionandroid.intent.action.MAIN(Android-only) 用于启动 activity 的intent action--intent-action android.intent.action.MAIN
--intent-categoryandroid.intent.category.LAUNCHER(Android-only) 用于启动 activity 的intent category--intent-category android.intent.category.APP_CONTACTS
--intent-flags0x10200000(Android-only) 启动 activity 的标志--intent-flags 0x10200000
--intent-argsnull(Android-only) 启动 activity 时附带额外的 intent 参数--intent-args 0x10200000
--suppress-adb-kill-serverfalse(Android-only) 如果被设定,阻止Appium杀掉adb实例。

分类: python+Appium

实战

  • -a : 默认服务地址 127.0.0.1
  • -p: 端口号 4730 (默认4723)
  • -U: udid ,android的udid就是adb devices查看到的前面那一串
  • --no-reset 不重置app 与desired_caps配置里面的 {"noReset": True,} 一个意思

cmd进入docs命令窗口输入:

appium -a 127.0.0.1 -p 4730 -U emulator-5554 --no-reset

小结

 1.遇到的问题就是输入appium报错了,懵逼了,怎么办,不急一步一步解决它。

这个问题是由于安装的Node的版本太高,而你安装的appium版本较低造成,那么解决办法,就是要么将Node的版本降低,要么将appium版本升高即可。反正宏哥是这么解决了,如果你遇到了如果你遇到了,可以试一试我的方法,但是不能打包票哈。

2.好了,关于appium的服务命令行就到这里吧!


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/18694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

右键文件夹 ------- 打开 vscode的方法

1、右键vscode点击属性 2、这是地址栏,一会复制即可 3、新建一个txt文件,将这个复制进去 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\Microsoft VS Code\\Code.exe"[HKE…

docker基本命令学习 | Docker网络、Docker镜像发布

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! docker安装、卸载 docker安装使用 卸载旧版本docker或者环境 [rootiZf8zdcobr3fw7vn0p3538Z /]# yum remove docker \ > docker-client \ >…

混合云:降本增效,云计算的未来趋势,企业数字化转型的王道!

随着云计算技术的不断发展,云计算已经成为了企业信息化的主流趋势,而混合云则是云计算领域发展的一个新方向。混合云指的是将公有云和私有云相结合,构建一种新的云计算模式。本文将从混合云的定义、特点、优势以及应用场景等方面进行阐述&…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)

Link装饰器:父子双向同步 子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。 概述 Link装饰的变量与其父组件中的数据源共享相同的值。 装饰器使用规则说明 Link变量装饰器 说明 装饰器参数 无 同步类型 双向同步。 父组件中State, Stor…

语音合成是什么?如何进行语音合成TTS数据采集?

我们在上一篇讲到语音数据采集分为常见的两种语音数据采集类型,一个是语音识别数据(ASR),另一个是语音合成(TTS)。这一期中,我们将介绍语音合成技术是什么,如何采集语音合成数据和制…

亚马逊店铺的回款周期是多久?

现如今,开亚马逊店铺可是一个技术活,一旦有一个环节,或者是一件事情没有做好,对整个亚马逊店铺过程中影响都是十分巨大的,不少亚马逊卖家就吃过这方面的亏。 很多亚马逊卖家就是吃亏在这些方面,现在要想开…

OpenAI的提供的Model简要介绍

OpenAI提供的model 通过OpenAI的接口可以查看所有支持的模型(目前的账号无GPT4的权限,所以没有列举GPT4相关的模型)。 import os import openai import pandas as pd from IPython.display import displayopenai.api_key os.getenv("OPENAI_API_KEY")…

瀑布流布局columns

瀑布流布局其核心是基于一个网格的布局,而且每行包含的项目列表高度是随机的(随着自己内容动态变化高度),同时每个项目列表呈堆栈形式排列,最为关键的是,堆栈之间彼此之间没有多余的间距差存大。还是上张图…

【UI自动化测试】Jenkins配置

前一段时间帮助团队搭建了UI自动化环境,这里将Jenkins环境的一些配置分享给大家。 背景: 团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化测试和性能测试&…

Django系列之DRF简单使用

基于ModelViewSets的简单使用 models.py from django.db import modelsclass AuthorDetail(models.Model):gender models.CharField(max_length8)birthday models.DateField()telephone models.BigIntegerField()addr models.CharField(max_length64)class Author(models…

FPGA项目设计:数字时钟

项目要求: 设计一个数字时钟,数码管前两位显示小时,数码管中间两位显示分钟,数码管后面两位显示秒。 项目设计: 系统框架图: 计数模块时序图: 代码实现: 计数模块: /…

AndroidStudio查看AOSP的两种方法

作者:利维亚的杰洛特 本篇文章主要分享一些自己平时工作中使用AndroidStudio查看aosp的方法,同时抛砖引玉,希望知道其它便利有效的查看调试方式技巧的大佬们能够不吝赐教,大家互相分享,共同进步。 如果直接用AndroidS…

解决一个Sqoop抽数慢的问题,yarn的ATSv2嵌入式HBASE崩溃引起

新搭建的一个Hadoop环境,用Sqoop批量抽数的时候发现特别慢,我们正常情况下是一个表一分钟左右,批量抽十几个表,也就是10分钟的样子,结果发现用了2个小时: 查看yarn日志 发现有如下情况: 主要有两…

【iOS】GCD深入学习

关于GCD和队列的简单介绍请看:【iOS】GCD学习 本篇主要介绍GCD中的方法。 栅栏方法:dispatch_barrier_async 我们有时候需要异步执行两组操作,而且第一组操作执行完之后,才能开始执行第二组操作,当然操作组里也可以包含一个或者…

HTTP——一、了解Web及网络基础

HTTP 一、使用HTTP协议访问Web二、HTTP的诞生1、为知识共享而规划Web2、Web成长时代3、驻足不前的HTTP 三、网络基础TCP/IP1、TCP/IP协议族2、TCP/IP的分层管理3、TCP/IP 通信传输流 四、与HTTP关系密切的协议:IP、TCP和DNS1、负责传输的 IP 协议2、确保可靠性的TCP…

Gartner:2022年全球IaaS公有云服务市场增长30%,首次突破1000亿美元

根据Gartner的统计结果,2022年全球基础设施即服务(IaaS)市场从2021年的928亿美元增长到1203亿美元,同比增长29.7%。亚马逊在2022年继续排在IaaS市场的第一名,其次是微软、阿里巴巴、谷歌和华为。 最新消息,…

制砖机系统比例控制阀放大器

制砖机系统是一种生产砖块的机器设备系统。该系统由多个部分组成,包括压力系统、模具和振动系统、烘干和烧制系统等。压力系统是制砖机的主要组成部分之一,它通过压力将原料压缩成一定形状和尺寸的块状,然后经过烘干和烧制等步骤,…

解决单节点es索引yellow

现象 单节点的es,自动创建索引后,默认副本个数为1,索引状态为yellow 临时解决 修改副本个数为0 永久解决 方法1、修改elasticsearch.yml文件,添加配置并重启es number_of_replicas:副本分片数,默认…

【数据结构】——线性表的相关习题

目录 题型一(顺序表的存储结构)题型二(链表的判空)题型三(单链表的建立)题型四(顺序表、单链表的插入删除) 题型一(顺序表的存储结构) 1、线性表的顺序存储结…

解决Git下载失败太慢

解决Git下载失败太慢 Git 官网下载地址: https://git-scm.com/downloads Windows 下载地址: https://git-scm.com/download/win 用官网的地址下载, 需要从github上下载, 由于国内某些原因, 下载速度缓慢, 还经常失败. 国内用户, 可以通过镜像的方式, 提高下载速度. 阿里镜…