gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.10.40"
你去找找你/root/.node-gyp/的权限是不是可读可写。。
如果不存在就找 /root 的权限。。
#1 楼 @lihuazhang 能解决也给钱啊 T_T 。。 不过这次 appium 的版本快写完了, 不是那么迫切了
呀。。 我也在东升科技园。。
def isExist(self):
"""
To determine whether an element is exits
:return: TRUE or FALSE
"""
try:
if self.pathtype == "ID":
driver.find_element_by_id(self.pathvalue)
if self.pathtype == "CLASSNAME":
driver.find_element_by_class_name(self.pathvalue)
if self.pathtype == "XPATH":
driver.find_element_by_xpath(self.pathvalue)
if self.pathtype == "NAME":
driver.find_element_by_name(self.pathvalue)
except NoSuchElementException:
return False
return True
self.pathtype 这个是怎么获取的呢? 我看不大明白, 这个 isExist 怎么用,能讲解一下吗?
element(anctivityName ,elementName).isExist()
这样吗
为啥一堆匿名的 0.0 哎, 这次报名晚了。。
('一定支持')
下次我也看看能不能去。。 就住边上
activutyNmae 这个是故意这么打的吗。。。 处女座表示很难受
#19 楼 @jiap 坐标这个问题很简单。 在有 ID 的情况下用这个函数
可以获取到这个 ID 正中央的坐标,然后进行点击
def getPoint(layoutID):
viewer = device.getHierarchyViewer()
button = viewer.findViewById(layoutID)
if viewer.visible(button):
point = viewer.getAbsoluteCenterOfView(button)
device.touch(point.x,point.y,'DOWN_AND_UP')
return True
else:
pF ("layout: "+layoutID+" is not in current view")
return False
对于没有 ID 的 button, 可以通过找到他的父级或者父级的父级的父级 来定位。 然后用这个函数
def touchView(view1):
viewer = device.getHierarchyViewer()
if viewer.visible(view1):
point = viewer.getAbsoluteCenterOfView(view1)
device.touch(point.x,point.y,'DOWN_AND_UP')
return True
else:
print ("layout is not in current view")
return False
#12 楼 @happystone 这么简单粗暴 ∑(O_O;) 我以为 appium 这种新出来的会有高级用法,然而看 api 文档也没发现……
新手提问啊: 之前一直用 monkeyrunner+python 来做自动化, 现在想换到 appium 上。 目前遇到个问题, 如何检查某个元素 ID 是否在当前界面中? 目前用的 self.driver.find_element_by_id , 一旦找不到, 脚本就退出了。。 然后抛出异常: an element could not be located on the page using the given search parameters..
我想实现的是每做一部操作前 先判断 ID 是不是在当前界面,所以找不到 ID 就退出这个很致命啊
monkeyrunner 中可以用 viewer.visible(button) 来判断, appium 用什么判断呢