我下载了 AppiumForWindows-0.11.2,配置了 Android 的环境,安装了 Apache ANT、Maven 和 Git。
打开文件夹中的 Appium.exe,显示了 Appium 的运行 GUI 界面,可是接下来要怎么做呢,怎么运行 Python 脚本呢???
急求帮助啊!谢谢
加个头像吧
运行起来,然后跑测试
可是要怎么运行 Python 脚本呢
#4 楼 @shery_zhang2012 http://testerhome.com/topics/182 这里有说,其实就是普通的 python 的普通脚本啦
手机连接上以后,为什么在 launch avd 中检测不到呢
#6 楼 @shery_zhang2012 什么手机? 看看 adv devices -l 有没有,如果没有,可能认不出手机的 vender id ,那按照http://testerhome.com/topics/153 这个帖子来
#6 楼 @shery_zhang2012 加个头像呗!
现在网络不好,晚上在家头像(_)
你得先充电下对应的知识, adb selenium remote webdirver
@lihuazhang 看来做视频也是必要的,呵呵
我是一个菜鸟,觉得这个工具很强大,想研究一下它,可是看了资料仍然不知道是怎么用的。
#11 楼 @shery_zhang2012 慢慢来, 不止是这个工具, android 的测试工具都有类似的复杂问题, 小白入门不易, 需要不断摸索, 先提前系统的学习下部分的知识吧, 比如没有这个工具, 如何识别虚拟机和手机的连接, 以及他们的机制等. 我也是买了好几本书学 android
国内对于 android 测试的框架研究还不错, 百度基本没戏, google 还好些.
谢谢 seveniruby 12 楼 还会继续努力
8 楼 @lihuazhang ,可以咨询几个问题吗?
1、怎么启动 Appium 的 server 呢?
2.在 windows 上一定要用 NPM 命令行安装 Appium 吗?直接点击文件夹中的 Appium.exe 不可以吗?
3.在 Windows 安装说明里有一个运行 reset.bat 这个文件请问在那个文件里呢?
4、安装文件中说 “要在 windows 上运行测试用例,你需要先启动 Android 模拟器或者连接上一个 API Level17 以上的 android 真机。
然后在命令行运行 appium
node .
” 这个输入 appium 是任意一个命令行还是在 Git 的命令行里呢?
@shery_zhang2012 今天刚试过,我是用的 python 运行的,在 windows 下,直接在 cmd 命令行运行 appium,然后再开一个 cmd,执行 python 脚本就可以成功运行了,如果 python 运行出现问题,可以参考下面文章解决http://testerhome.com/topics/182, 目前只尝试成功 python 的,其他的还没有试
#15 楼 rabbit 我运行了 appium,提示找不到该命令,我在想 appium 一定要使用 npm 安装吗?
#16 楼 @shery_zhang2012 我试了 2 种方法安装,第一种你如果用命令启动 appium,找不到那就是你没安装,你可以用 npm 安装,第二种,你可以下载 appium.exe,界面版的 appium,然后打开 appium.exe,也是可以启动的。
#16 楼 @shery_zhang2012 找不到,可能是环境变量的问题。
#17 楼 rabbit 我运行了 Appium.exe,但是在对话框下面并没有 Nodejs 的那个框,检查了一下 nodejs 确实安装上了,这是为什么呢?
#19 楼 @shery_zhang2012 你点击 Appium.exe 只是启动了 appium,nodeJs 需要点击 node.exe 或者去命令里面,输入 node(前提是环境配置好)即可以,这是 2 个东西,是需要分别启动的
#20 楼 rabbit 我运行 python 的脚本时,出现了 ImportError: No module named 'selenium',难道 selenium 还需要自己下载安装吗?
#21 楼 @shery_zhang2012
是的,你参考http://testerhome.com/topics/182 这个页面下面的安装就可以了
在运行 Python 文件的时候,遇到这样的问题:
F:\Program Files>python appium-0.11.3\appium-0.11.3\sample-code\examples\python\
android_contacts.py
Traceback (most recent call last):
File "appium-0.11.3\appium-0.11.3\sample-code\examples\python\android_contacts
.py", line 17, in
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
File "F:\Program Files\python\lib\site-packages\selenium-2.37.2-py3.3.egg\sele
nium\webdriver\remote\webdriver.py", line 71, in init
self.start_session(desired_capabilities, browser_profile)
File "F:\Program Files\python\lib\site-packages\selenium-2.37.2-py3.3.egg\sele
nium\webdriver\remote\webdriver.py", line 113, in start_session
'desiredCapabilities': desired_capabilities,
File "F:\Program Files\python\lib\site-packages\selenium-2.37.2-py3.3.egg\sele
nium\webdriver\remote\webdriver.py", line 162, in execute
response = self.command_executor.execute(driver_command, params)
File "F:\Program Files\python\lib\site-packages\selenium-2.37.2-py3.3.egg\sele
nium\webdriver\remote\remote_connection.py", line 355, in execute
return self._request(url, method=command_info[0], data=data)
File "F:\Program Files\python\lib\site-packages\selenium-2.37.2-py3.3.egg\sele
nium\webdriver\remote\remote_connection.py", line 402, in _request
response = opener.open(request)
File "F:\Program Files\python\lib\urllib\request.py", line 469, in open
response = self._open(req, data)
File "F:\Program Files\python\lib\urllib\request.py", line 487, in _open
'_open', req)
File "F:\Program Files\python\lib\urllib\request.py", line 447, in _call_chain
result = func(*args)
File "F:\Program Files\python\lib\urllib\request.py", line 1268, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "F:\Program Files\python\lib\urllib\request.py", line 1253, in do_open
r = h.getresponse()
File "F:\Program Files\python\lib\http\client.py", line 1143, in getresponse
response.begin()
File "F:\Program Files\python\lib\http\client.py", line 354, in begin
version, status, reason = self._read_status()
File "F:\Program Files\python\lib\http\client.py", line 324, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: ''
请问这是什么原因呢?
良好的讨论,有所结果,别忘记分享出来。
#26 楼 @seveniruby 在这上面沟通太慢了,等我们沟通出来结果,在放这上面。。一样一样滴~~呵呵
#28 楼 @seveniruby 这么复杂。。我只是想帮他尽快解决问题而已,好吧,下次记住了,谢谢提醒~~
#23 楼 @shery_zhang2012 从错误信息上看, http://localhost:4723/wd/hub 访问出错, 你可以自己手工用浏览器打开试试.看看有没有结果.
File "appium-0.11.3\appium-0.11.3\sample-code\examples\python\android_contacts
.py", line 17, in
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
#32 楼 @seveniruby 呵呵,只是帮助别人的同时,自己也进步。。这个问题我怀疑是他用的模拟器的原因,由于太慢,连接访问没有返回,现在在确认。
#35 楼 @shery_zhang2012 建议可以新开一个帖子出来总结哟~~
rabbit 33 楼 , seveniruby 34 楼 , 我的环境遇到了这个问题:是什么原因呢?各位大神遇到没呢
1、直接用 F5 运行:
Traceback (most recent call last):
File "D:\appium-0.11.3\sample-code\examples\python\android_contacts.py", line 13, in
desired_caps['app'] = PATH('../../../sample-code/apps/ContactManager/ContactManager.apk')
File "D:\appium-0.11.3\sample-code\examples\python\android_contacts.py", line 6, in
os.path.join(os.path.dirname(file), p)
NameError: global name 'file' is not defined
2、用命令行运行:
Traceback (most recent call last):
File "android_contacts.py", line 17, in
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
File "D:\Python27\lib\site-packages\selenium-2.37.2-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 71, in init
self.start_session(desired_capabilities, browser_profile)
File "D:\Python27\lib\site-packages\selenium-2.37.2-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 113, in start_session
'desiredCapabilities': desired_capabilities,
File "D:\Python27\lib\site-packages\selenium-2.37.2-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 164, in execute
self.error_handler.check_response(response)
File "D:\Python27\lib\site-packages\selenium-2.37.2-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 136, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message: '<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdn">\\n<!-- FileNam
e: index.html\n Language: [en]\n-->\n<!--Head-->\n\n \n\n<!--\ntd {\n\t\xe3\x80\x80color:#666666;font-size:12px; f
ont-family:Verdana, Arial, Helvetica, sans-serif; \n}\nbody {\n\tbackground-color: #999999;\n}\n.STYLE1 {color: #666666}\n.style8 {\tFONT-WEIGHT: bold\n}\n.style9 {color: #555555}\n\n-->\n\n\n
\n \xe4\xb8\x9c\xe8\xbd\xafInternet\xe8\xae\xbf\xe9\x97\xae\xe7\xae\xa1\xe7\x90\x86\xe9\xa1\xb5\n \n \n\n<!--/Head-->\n
<!--Body-->\n\n
\n<!--Logo-->\n\n \ n \n \n
uthenticationrequired.html\n Language: [en]\n-->\n<!--Title-->\n\n \n \n \n
ot-->\n\n \n \n \n \n \n \n \n \n \n
|
我觉得你对整个体系还不太了解
启动 appium 后, 首先要用浏览器打开http://127.0.0.1:4723/wd/hub看看有没有启动成功.
然后再运行 python 脚本, 需要通过 python 的工具来安装他依赖的 webdriver 库.
分析问题的时候,你需要关注如下几个内容
另外不要在有空格的路径下, 貌似 java 和 python 对这种路径支持不太好
#38 楼 seveniruby 这个问题解决了,是因为我用了代理上网,把代理关掉就 OK 了
c:\users\wangli\.node-gyp\0.10.21\deps\uv\include\uv-private/uv-win.h(32): fatal error C1083: 无法打开包括文件:“winsock2.h”: No such file or directory [C:\Users\wangli\node_modules\appium\node_modules\ws\build\binding.sln]
项目 : warning PRJ0018: 未找到下列环境变量: [C:\Users\wangli\node_modules\appium\node_modules\ws\build\binding.sln]
c:\users\wangli\.node-gyp\0.10.21\deps\uv\include\uv-private/uv-win.h(32): fatal error C1083: 无法打开包括文件:“winsock2.h”: No such file or directory [C:\Users\wangli\node_modules\appium\node_modules\ws\build\binding.sln]
项目 : warning PRJ0018: 未找到下列环境变量: [C:\Users\wangli\node_modules\appium\node_modules\ws\build\binding.sln]
用 npm install appium 安装时出现这个问题,它说的那个路径下有那个 binding.sln 文件。求解~~
#40 楼 @mingway_hu http://stackoverflow.com/questions/17496189/error-in-installing-node-js-module-using-npm
1
down vote
accepted
You need to add VCBuild.exe to your path. Check out this answer on how to do it: Testacular install failes, no vcbuild.exe
#41 楼 @lihuazhang I will try it. Thanks for your help.
#38 楼 @seveniruby 请问下启动成功的标志是什么?"That URL did not map to a valid JSONWP resource"这个有启动成功吗?另外:
warn:Android did not shut down fast enough, calling it gone
error:ADB quit before it successfully launched
info: We're in android's exit callback but adb is gone already
这个是怎么回事?谢谢
@seveniruby @monkey
在元素定位时,通过 id 进行定位,在 id 的名称中支持下划线吗?如果支持为什么通过 monitor 获得的 id 不能找到呢?
都这么多问题了,最近忙着换工作,也没来看,帖子太长了,看起来费劲,要不整理下吧!
根据这个文档 http://testerhome.com/topics/182 。 windows 下运行 java,模拟器没有跑起来! 怎么解决呀
@meimeiyuyun 他说你 app 的地址不对╮(╯_╰)╭。 加个头像吧~
#12 楼 @seveniruby 指导下我吧,碰到一个 appium 问题