第五赞!赞赞赞!
好棒的一天。有孩子就是不一样。
Q 你可以晒全家福啊,比他们俩多一个,哈哈。
赞!说的十分透彻。理念方面的东西要说清楚、说全面相当不容易。
PS:有个小建议:
接口中的所有方法都是 Public 的,但对于抽象类的声明并没有这样的规则,当然不能是 Private 。为什么不能 Private?因为一个抽象方法需要在子类中实现,但 Private 无法访问子类,因此不抽象类不可能存在 Private 属性。
这句翻译读起来怪怪的。去看了原文后发现有些地方翻译不是很合适:
All methods in the interface are public, but there is no such rule for those declared in abstract classes. Those ones can have any visibility except private. Why not private? Because an abstract method needs to be implemented in subclass and private is not accessible from subclass. As you can see, those two ideas are mutually exclusive.
大致意思是抽象类不需要像接口那样都是 Public 的。它们可以是 Private 外的任何可访问权限。为啥不能是 Private ,因为抽象类需要在子类中实现,而 Private 是不能被子类访问的。因此,Private 与抽象类的用法是互斥的。
译文中的 因此不抽象类不可能存在 Private 属性 这里第一个 “不” 字应该是写多了。
没有这些琐碎的过程,永远不能到达精彩的彼岸
说得好!
#2 楼 @cydtest 这个 swipe 无效是模拟器的问题。真机没有这个问题的。 mobile: scroll 就是针对这个问题的 work around。
详看:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md#bugs-and-workarounds
不错的一天,很有条理。
Hi,我们建立了一个 wiki 作为近期 MonkeyTalk 文章的合集:
https://testerhome.com/wiki/monkeytalk
能否在更新文章的同时更新一下这个合集,并把这个合集的地址附在文章开头,方便大家查看和浏览?
谢谢!
selendroid 可以测试 webview 啊。
那个权限是网络通讯权限,是必须的。
Selendroid 的方式类似于在 app 里面增加一个 agent ,所以需要获得网络通讯的权限才能和电脑通讯。
Good job!
你的 markdown 是不是用错了?标题都不是重点。
info: [debug] [BOOTSTRAP] [debug] Encoded text: T&AOk-stB&AOA-e&Ti1W,XaEgfpwYzDGMLkwy-
应该是 encode 时出错了。
同 1 楼,看到了截图,没看到自动。
我们的做法是使用 decorator(我们用 python),所有 action 如果有 exception(无论是 assertion error 还是别的 error)都执行指定操作(默认是截图)。
其实也可以考虑在 case 层面做,如果 case 出现异常就执行指定操作。
如果想获取更多信息的话,可以起个线程进行录制屏幕(adb shell 命令里就有录制屏幕的功能)。如果不出错就删掉录制的视频,否则就把视频保存起来,方便后面查看。