#5 楼 @zailushang
时间:6 月 28 日 2:00 PM ~ 6:00 PM
地点:天河区临江大道 503 号 T26 产业园 A10
点进去报名链接有更详细的说明。
大赞!
有试过 sendKeyEvent 吗?
最新消息,Appium 将在下个版本加入 get_attribute('contentDescription') 方法来获取 content-desc 属性:
https://github.com/appium/appium/pull/5189
#6 楼 @zb460989093 那你就下一个吧。
额,弱弱地纠正下, markdown 的标题 # 号和内容之间必须有至少一个空格的。
说得好,学习代码的唯一途径是多写代码。代码行数都没过千是不可能算是会写代码的。
其实我觉得书不一定要很多,但要精,而且不能光看不练。花一个多月专心消化一本书,写下一篇长长的读书笔记,这收获远比你读几本书要好。
另外,进入性能之前不是应该先学会被测应用的一些开发技术吗?
PS:麻烦补充一下头像。标题最好用一些标题样式。
robotframework 是用 python 写的框架啊,它的 library 当然是用 python 。
你要用 java ,去下载 java 的 client 啊。
https://github.com/appium/java-client
#17 楼 @strvinglady
#16 楼 @mildshark
#15 楼 @june_skychi
#14 楼 @xnign
据我目前了解,深圳很快也会有了。
额,说了那么久,你貌似还没怎么说你现在做的 API 测试做成什么样,你觉得怎么做才算是完整的方案(至少你觉得能说服你领导)。。。
#5 楼 @yuwuhen333 也可以。但你要确定那个应用是不是可以关。
走
#2 楼 @mads 或者用 --chromedriver-port 参数改下 chromedriver 的端口。
参考:https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/server-args.cn.md
#4 楼 @flint Sorry,代码里有个地方写错了,只有 new-style class 能使用 __metaclass__,所以正确的应该是这么写:
class BasePageMetaClass(type):
def __new__(cls, clsname, bases, dict):
if decorator:
for name, method in dict.items():
if not name.startswith('_'):
dict[name] = decorator(stay_window_frame, method)
return type.__new__(cls, clsname, bases, dict)
class BasePage(object):
__metaclass__ = BasePageMetaClass
...
#1 楼 @lihuazhang 我明白他的意思了。例如 frame1 包着 frame2,frame2 包着 frame3,那必须先切到 frame1,然后 frame2,最后 frame3,需要依次切换。此时这个 frame 对象的 self._iframe = ["frame1", "frame2", "frame3"]
这种方式很不错,可以把 frame 以类似 page 的方式来管理,不用再在 case 层级关心 frame 的层级关系。
PS:通过 decorator 模块可以批量在类的方法前面添加装饰器,这样就不用每个方法都加一模一样的装饰器那么麻烦了:
class BasePageMetaClass(type):
def __new__(cls, clsname, bases, dict):
if decorator:
for name, method in dict.items():
if not name.startswith('_'):
dict[name] = decorator(stay_window_frame, method)
return type.__new__(cls, clsname, bases, dict)
class BasePage:
__metaclass__ = BasePageMetaClass
...
……这个问题和 appium 没啥关系吧。
首先,你要解决一个物理问题:怎么让你的单据编号刚好显示在手机摄像头里且可以被识别?如果不行,那你得改应用源码, mock 这个读取二维码的模块,给一个接口,让你传个值进去然后就能把这个值当做单据编号返回。摄像头这块调用的是系统服务,没那么容易改,而且你还得配套搞个根据用例改变二维码的程序。
解决了第一个问题后,你的问题也不是问题了。直接用 UI 自动化点击扫码按钮、等待扫码识别(我不清楚这块是否属于动态元素, uiautomator 在摄像机界面能否 dump 界面元素,你自己可以试试)、识别完成后点击确认。
PS:以后不要问这么简短的问题。。。