"http://127.0.0.1:4723/wd/hub"的解释

先补充一个内容,就是appium安装时候的环境变量配置,必须要配ANDROID_HOME这个变量,不是“要配置”,是“必须配置”,其他的那些放到系统变量的path里就可以了:

 

 

# coding: utf-8

from appium import webdriver
from time import sleep desired_caps = {'platformName': 'Android',
               'deviceName': '127.0.0.1:62001',
               'platformVersion': '23',
               'appPackage': 'com.tencent.news',
               'appActivity': 'com.tencent.news.activity.SplashActivity',
               'unicodeKeyboard': True,
               'resetKeyboard': True}
                driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

 

        上面代码最后的请求地址是"http://127.0.0.1:4723/wd/hub",下面我们来解释一下哈:

127.0.0.1

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

 

 

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

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

 

可以看到:

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

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

        现在我们就可以这样理解了,地址写127.0.0.1的意思就是要在本地进行访问:

 

我们把地址直接写成localhost,这样也是可以调通的。

端口号:4723

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

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

 

    也可以打开你的appium:

 

        

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

/wd/hub

        我们来看源码:

    可以看到,WebDriver类在初始化时也定义了一个地址,除了端口号不一样其它的和我们传的是一样的。因此我们就可以简单的把/wd/hub理解为——规定。

 

微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

 

posted @ 2018-01-30 20:52  孟船长  阅读(7038)  评论(0编辑  收藏  举报