Appium 有关 Appium 实例 driver 的疑惑

William · 2016年11月15日 · 最后由 小珍 回复于 2016年12月05日 · 2371 次阅读

Appium 中 driver 实例化的几个疑问

  1. 在实例化 Android driver 的时候会写一个 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub,capabilities")); 这其中的 localhost(http://127.0.0.1)是怎么来的,如果换一个本机地址,怎么找这个地址?
  2. 在同时执行多个 Appium 真机测试的时候, driver = new AndroidDriver(new URL("http://127.0.0.1:+port+/wd/hub),capabilities"); 这里面这个 port 该怎么找,如何通过脚本来设置这个 port,例如如何用脚本找到一个可用的端口,然后传入参数给 port。

有这个两点不明,望不吝赐教。

共收到 13 条回复 时间 点赞

0.0

1:127.0.0.1 固定就是你本机的地址,所有机器的 127.0.0.1 都指向自己,同时也可以通过 本机 IP:端口来访问,从同局域网下,从其他机器也可以通过你的 ip 访问到 appium

2 :port 其实是你自己设置进去的,appium 好像是需要用两个端口,一般默认的是 4723 和 4724(年代久远,有点不记得了哈)。你如果需要执行多个 appium,是需要使用脚本启动多个 appium 服务端的,而脚本里边就包含了端口号,这个端口号是你自己自定义的,但是一个服务端需要两个端口,所以一般多个服务端的端口是要间隔一位的。比如 4723 和 4725。而这个端口,就是你脚本里边需要连接的端口。

不知道你想要的是不是这个答案?

#1 楼 @shixue33 1.通过命令提示符 直接输入 appium 这个时候启动的服务地址是 0.0.0.0:4723;那么说 0.0.0.0 也可以作为 server ip 地址访问,同样设置为 192.168.68.156(本机 IP)也可以访问,但是要设置地址为 192.168.68.158(随便一个),就会提示

> error: Couldn't start Appium REST http interface listener. Requested address is not available.

也就是说能访问的地址一个是 localhost,一个是 0.0.0.0,还有一个是本机 IP 吗?

2.port 这个当 4723 端口被占用的时候,怎么办启动 4725 吗?当我执行完 case 这个 port 是自动释放掉的吗?
请教一下,感谢!

1 额…… 0.0.0.0 我觉得它其实不是一个 ip,只是让这个端口可以服务外部的访问。

2 你可以用脚本启动,也可以在 appium 客户端界面上改变端口启动。 释放不释放,取决于你。

或者

#3 楼 @shixue33 2.这个释放端口怎么用代码去执行?

匿名 #10 · 2016年11月15日

#2 楼 @leizi0715
localhost = 127.0.0.1
0.0.0.0 = 本地任何可用 IP 地址

#5 楼 @link1220 只要是本机可用的就行吗?哪个地址段算本机可以用的呢?

匿名 #7 · 2016年11月15日

#6 楼 @leizi0715 和网段没关系,只要你 ipconfig /all 或者 ifconfig 能够看得到的本机网卡地址都可以。

#7 楼 @link1220 这里有一点不明白 ipconfig /all 看到的只有本机的地址,也就是说我只有本机的地址 192.168.68.156 可以用吗?

#4 楼 @leizi0715 client 中提供了相应的方法,我觉得你应该把 appium 相应的资料都看完再上手

匿名 #10 · 2016年11月15日

#8 楼 @leizi0715 127.0.0.1 or localhost 仅供本地 client 端访问,192.168.68.156 可以给任何网络可达的 client 端访问,至于你想怎么用,好好想一想吧

#10 楼 @link1220 你这么说我就明白了,一个是通过本机,另一个是可以通过局域网

William 关闭了讨论 11月16日 13:28

楼主真爱思考

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册