Appium+python自动化(三十三)- 本地调试测试代码,远程控制测试环境-Remote(超详解)

简介

  在前边全部涉及启动app的时候有这样一行代码driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps),不少小伙伴们和同窗们不知道这个ip和端口哪里来的,我以为有必要给小伙伴解释一下,因而宏哥决定写一篇关于这个appium的服务器ip文章! 来给你们答答疑,解解惑!这样就不会问一些比较幼稚的问题,让别人看了笑话,笑掉大牙了。eg:宏哥,宏哥,宏哥,那个我在测试服务器搭建测试环境,我是否是就只能在测试服务器上调试代码,而后进行测试了。那这样我还的搭建一套别写脚本的环境。。。。等等的傻白寡的问题,Remote 咱们先给他相一相面,就知道它的意思是:远程。那么咱们是否是把那个IP地址修改为测试服务器的IP,一切问题是否是就迎刃而解了。html

目的

  通常来讲appium中127.0.0.1这个地址的默认的不须要修改。在作自动化过程当中,若是遇到须要远程操做的话,这个功能就能够派上用场了。想一想看,若是公司给你单独配置一台跑自动化测试电脑,而后本身工做的电脑写脚本,在自动化机器上运行脚本,这样工做自动化两不误,是否是很爽呢? web

说明

127.0.0.1

127.0.0.1是环回(loopback)地址,用来测试本机的TCP/IP协议栈,好比你在cmd里输入:ping 127.0.0.1:windows

 

看到的就是向本机发送请求包,这个请求只会在你的本地跑,不会经过网络发送出去。浏览器

 “本地”,你必定还想到了localhost,打开你的hosts文件(右键选择用notenotepad++打开):服务器

能够看到:微信

是的,127.0.0.1和localhost的是“等价的”:网络

localhost是个域名,性质跟 “www.baidu.com” 差很少。(不能直接绑定套接字,必须先gethostbyname)转成IP才能绑定——括号里的字我也不太明白。也就是说你的localhost默认的ip就是127.0.0.1。app

如今咱们就能够这样理解了,地址写127.0.0.1的意思就是要在本地进行访问:oop

咱们把地址直接写成localhost,这样也是能够调通的。post

端口号:4723

这个值不是固定的,惟一的要求就是——不要冲突,你能够在cmd你查看目前占用的端口号,输入命令

netstat -ano查看全部端口占用;

netstat -ano | findstr “4723” 查看4723端口号被哪一个程序占用

第一个没有查看到程序,由于宏哥没有开启appium

宏哥开始启动appium第二个查看到了

也能够打开你的appium:

   

在这里就能够修改端口号了,可是你在这里怎么改端口号,那么你代码里就要对应的修改端口号。

/wd/hub

将鼠标定位到remote 放在上边,而后按住Ctrl点击鼠标左键进入源码,咱们来看源码:

能够看到,WebDriver类在初始化时也定义了一个地址,除了端口号不同其它的和咱们传的是同样的。所以咱们就能够简单的把/wd/hub理解为——(乌龟的屁股--龟腚)规定。

设置IP 

1.打开appium>General Setting界面

访问地址

1.代码里面的那个地址到底指向的是哪里呢?

启动appium服务后,在浏览器输入:http://127.0.0.1:4723/wd/hub。出现以下图所示,说明服务启动成功,能够把appium看出是一个服务端。

1.一台工做电脑,一台跑自动化测试的电脑,如何用工做的电脑远程控制自动化测试的那台电脑呢?

2.测试电脑上的appium服务地址改为本机IP地址如:192.168.1.1(注意注意注意!!!这里要是本机的ip地址

远程操做

1.在本身工做电脑上打开浏览器输入:192.168.1.1:4723/wd/hub。这一步很重要,必定要看到以下界面,确认远程连接成功.

 2.脚本里面的代码修改下地址

3.测试机上环境准备好后,在本机上运行脚本,因而测试机上能够自动运行了。 

小结

1.首先 localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操做系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1]
在 Windows 中,这个域名是预约义的,从 hosts 文件(c:\windows\system32\drivers\etc\hosts)(etc/hosts)中能够看出:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
而在 Linux 中,其定义位于 /etc/hosts 中:
127.0.0.1 localhost
注意这个值是可修改的,好比我把它改为
192.068.206.1 localhost
而后再去 ping localhost,提示就变成了
PING localhost (192.168.206.1) 56(84) bytes of data.
固然通常人不会像我这么蛋疼。
————分割线—说完localhost再说127.0.0.1————
127.0.0.1 这个地址一般分配给 loopback 接口。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操做系统的网络组件是正常的,loopback 就能工做。Windows 中看不到这个接口,Linux中这个接口叫 lo:
#ifconfig
eth0 Link encap:Ethernet hwaddr 00:00:00:00:00:00
inet addr :192.168.0.1 Bcase:192.168.0.255 Mask:255.255.255.0
......
lo Link encap:Local Loopback
inetaddr: 127.0.0.1 Mask: 255.0.0.0
......
能够看出 lo 接口的地址是 127.0.0.1。事实上整个 127.* 网段都算可以使用,好比你 ping 127.0.0.2 也是通的。
可是使用127.0.0.1做为loopback接口的默认地址只是一个惯例,好比下面这样:
#ifconfig lo 192.168.128.1
#ping localhost #糟糕,ping不通了
#ping 192.128.128.1 # 能够通
#ifconfig lo
lo Link encap:Local Loopback
inetaddr: 192.168.128.1 Mask: 255.255.255.0
......
固然,通常人更不会像我这样蛋疼。若是随便改这些配置,可能致使不少只认 127.0.0.1 的软件挂掉。
————分割线—说完127.0.0.1再说本机地址————
确切地说,“本机地址”并非一个规范的名词。一般状况下,指的是“本机物理网卡所绑定的网络协议地址”。因为目前经常使用网络协议只剩下了IPV4,IPX/Apple Tak消失了,IPV6还没普及,因此一般仅指IP地址甚至ipv4地址。通常状况下,并不会把 127.0.0.1看成本机地址——由于不必特别说明,你们都知道。
本机地址是与具体的网络接口绑定的。好比以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工做都要绑定一个地址,不然其余设备就不知道如何访问它。

————最后总结一下区别————

  • localhost 是个域名,不是地址,它能够被配置为任意的 IP 地址,不过一般状况下都指向 127.0.0.1(ipv4)和 [::1](ipv6)
  • 整个127.* 网段一般被用做 loopback 网络接口的默认地址,按惯例一般设置为 127.0.0.1。这个地址在其余计算机上不能访问,就算你想访问,访问的也是本身,由于每台带有TCP/IP协议栈的设备基本上都有 localhost/127.0.0.1。
  • 本机地址一般指的是绑定在物理或虚拟网络接口上的IP地址,可供其余设备访问到。
  • 最后,从开发度来看
    • localhost是个域名,性质跟 “www.baidu.com” 差很少。不能直接绑定套接字,必须先gethostbyname转成IP才能绑定。
    • 127.0.0.1 是绑定在 loopback 接口上的地址,若是服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。
    • 若是主机中存在多个网卡,分别链接不一样的物理网络,好比 192.168.0.1/255.255.255.0 和 192.168.1.1/255.255.255.0,那么当你的服务端套接字绑到 192.168.0.1 这个地址上时,位于 192.168.1.* 网段的其余计算机是没法链接的,只有位于192.168.0.* 网段的计算机才能访问你的服务端程序。

2.好了,今天就分享到这里,想必各位小伙伴和童鞋们对这一行代码衍生出来的问题都有了一个新的认识。

 

 

您的确定就是我进步的动力。若是你感受还不错,就请鼓励一下吧!记得点波 推荐 哦!!!(点击右边的小球便可!(^__^) 嘻嘻……)

 

       我的公众号                                                             微信群 (微信群已满100,能够加宏哥的微信拉你进群,请备注:进群)          

                                                                 

原文出处:https://www.cnblogs.com/du-hong/p/11375525.html

相关文章
相关标签/搜索