先补充一个内容,就是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理解为——规定。

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

"http://127.0.0.1:4723/wd/hub"的解释的更多相关文章

  1. AppiumDriver升级到2.0.0版本引发的问题--Cannot instantiate the type AppiumDriver

    1. 问题描述和起因 在使用Appium1.7.0及其以下版本的时候,我们可以直接使用如下代码来创建一个AppiumDriver实例进行对安卓设备的操作. driver = new AndroidDr ...

  2. IntelliJ运行下载的Servlet时报错 Error running Tomcat 8.5.8: Unable to open debugger port (127.0.0.1:49551): java.net.SocketException

    学习Java Servlet时,从Wrox上下载了示例代码,准备run/debug时发现以下错误: Error running Tomcat 8.5.8: Unable to open debugge ...

  3. MongoDB 由于目标计算机积极拒绝,无法连接 2014-07-25T11:00:48.634+0800 warning: Failed to connect to 127.0.0.1:27017, reason: errno:10061

    转载自:http://www.cnblogs.com/xiaoit/p/3867573.html 1:启动MongoDB 2014-07-25T11:00:48.634+0800 warning: F ...

  4. (学)解决诡异的 Exception type: SocketException 127.0.0.1:80

    许久不发博了,老杨听完故事让我持续写一下“十万个为什么” 一.背景:  昨天我们亲密的战友HH刘老板亲临现场,指出我们协用的一个项目,客户方面反馈手持终端系统不定期“卡死”,要我们安排人飞到广州驻场解 ...

  5. localhost与127.0.0.1的区别

    localhost与127.0.0.1的区别是什么 定义 localhost也叫local ,正确的解释是:本地服务 127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器) 不同 ...

  6. Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?

    最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...

  7. 1.MongoDB报错 Failed to connect 127.0.0.1:27017 Mongo运行错误

    1.Mongo运行错误:Failed to connect 127.0.0.1:27017 Mongo运行错误:Failed to connect 127.0.0.1:27017,reason:err ...

  8. Jenkins Slave 通过JNLP 的方式 访问Master IP 总是127.0.0.1

    解决办法,重启机器 可能是我以前用的jenkins url 是127.0.0.1 然后是缓存什么没有释放掉所致 <jnlp codebase="http://183.62.104.48 ...

  9. fiddler监听127.0.0.1或localhost

    localhost/127.0.0.1的请求不会通过任何代理发送,fiddler也就无法截获. 解决方案 1,用 http://localhost. (locahost紧跟一个点号)2,用 http: ...

随机推荐

  1. 数据可视化——matplotlib(3)

    导入相关模块 import matplotlib.pyplot as plt import numpy as np import pandas as pd 中文显示设置 在之前,绘图时均使用的是英文, ...

  2. Huffuman Coding (哈夫曼编码)

    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种.Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头 ...

  3. UML类图概述、设计模式

    深入浅出UML类图(http://blog.csdn.net/lovelion/article/details/7843308) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相 ...

  4. panda 函数-处理空值

    今天这里谈的函数,以后进行数据分析的时候会经常用到. import numpy as npimport pandas as pdfrom pandas import DataFrame , Serie ...

  5. UVALive - 6712 lca+dfs序线段树

    题意:一棵树q次查询,每次查询给三个不同的点,要求计算到这三个点的比其他两个距离都要小的点数 题解:很明显的lca,倍增的找中点,关键是两个点的中点很好找,但是三个点不好找,我刚开始还准备分类讨论,后 ...

  6. Spring Boot总结

    一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...

  7. 在接口请求时报错Unrecognized field &quot;zZF1&quot

    这个问题是json序列化问题,当参数中出现大写字母组成的字段时(例如:ZZF1),此时需在字段上加入注解:@JsonProperty(value = "ZZF1")

  8. poj-2342-简单树形dp

    Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10388   Accepted: 594 ...

  9. 原生javascript-分享自己常用的函数

    [一]添加监听事件 addHandler:function(node,type,fn){if(node.addEventListener){ node.addEventListener(type,fn ...

  10. 转:kafka入门

    一.基本概念 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计. 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语:Kafk ...