• 不知道咋的今天又好了,昨天点保存没反应,我应该看看网络请求状态的

  • 无法编辑,更新文章不可用,致命!!!

  • APPIUM+IOS 点击界面元素 at 2021年01月18日

    界面上没有 loading 控件不就表示加载完了吗,刚开始可能没有 loading,那么在检测这个控件的时候,不妨多花点时间多检测几次不就完了?

  • 你把超时时间设置更长一些试试,比如 10 分钟

  • 确实获取不到,超时没响应。可能这个界面元素太多了

  • 鸿蒙系统尝鲜 at 2021年01月14日

    鸿蒙有点挂羊头卖狗肉的感觉,其实还是个 android 系统

  • 可以哦

  • dragfromtoforduration 这个方法不会,下面是这个方法的源码:

    + (id<FBResponsePayload>)handleDragCoordinate:(FBRouteRequest *)request
    {
      FBSession *session = request.session;
      CGPoint startPoint = CGPointMake((CGFloat)[request.arguments[@"fromX"] doubleValue], (CGFloat)[request.arguments[@"fromY"] doubleValue]);
      CGPoint endPoint = CGPointMake((CGFloat)[request.arguments[@"toX"] doubleValue], (CGFloat)[request.arguments[@"toY"] doubleValue]);
      NSTimeInterval duration = [request.arguments[@"duration"] doubleValue];
      XCUICoordinate *endCoordinate = [self.class gestureCoordinateWithCoordinate:endPoint application:session.activeApplication shouldApplyOrientationWorkaround:isSDKVersionLessThan(@"11.0")];
      XCUICoordinate *startCoordinate = [self.class gestureCoordinateWithCoordinate:startPoint application:session.activeApplication shouldApplyOrientationWorkaround:isSDKVersionLessThan(@"11.0")];
      [startCoordinate pressForDuration:duration thenDragToCoordinate:endCoordinate];
      return FBResponseWithOK();
    }
    

    执行拖动的是 [startCoordinate pressForDuration:duration thenDragToCoordinate:endCoordinate];,但是这个会有惯性,无法控制速度,我发现有个方法叫:- (void)pressForDuration:(NSTimeInterval)duration thenDragToCoordinate:(XCUICoordinate *)otherCoordinate withVelocity:(XCUIGestureVelocity)velocity thenHoldForDuration:(NSTimeInterval)holdDuration;,这个方法可以控制速度,滑动完成后可以 hold 指定时间,如下图所示:

    这个方法执行拖动后,会一直 hang 住某个地方,其他滑动惦记都难以被响应

  • appium 太慢,消息一来一回,再加上各种消耗,toast 早消失了

  • 运行 selenium 浏览器卡住了 at 2021年01月06日

    遇到过,忘记怎么解决了,你可以看看是在哪句代码卡主了

  • ios 手机验证码获取 at 2020年12月30日

    将通知栏滑下来,再提取通知栏里面的文本,很准

  • 浙大的 maxim 或者 字节跳动的 fastbot,据说 fastbot 要更好一些。

    不过都只支持 android,据说 fastbot 后面会支持 ios

  • 这个工具可以弃坑了,不要用

  • appium 元素定位变动的问题 at 2020年12月24日

    对 UIAutomator 而言可见性一般通过 bounds 来判断。除非是 robotium 或者 espresso 可以直接调用控件的 api 来判断可见性。

    但是这种不可见的元素你忽略就好啦,绕不开?

  • 刚刚调试发现,如果采用 predicate string 的话,在匹配字符串的时候,会自动给文本左右加 *,来模糊匹配
    如日志:

    16:52:29,668 INFO  - WDAStarter: t =    15.98s Find: Elements matching predicate 'wdName LIKE "*添加*" AND (1 == 1 OR identifier == 0 OR frame == 0 OR value == 0 OR title == 0 OR label == 0 OR elementType == 0 OR enabled == 0 OR placeholderValue == 0 OR selected == 0)' - [pool-6-thread-1](12-24 16:52:29,668)
    

    predicate 是谓词的意思,模糊匹配谓词

  • 要看 appium 使用的是何种自动化技术:

    如果自动化技术是 UIAutomator 的话,是无法获取到 url 的,除非是小程序,通过 ws 接口可以拿 url

    如果用的是 espresso,是可以拿 url 的

  • appium 元素定位变动的问题 at 2020年12月24日
    1. 好奇的是,xml 中没有这个元素,拿来的 bounds
    2. 既然能圈出,那么在 UIAutomatorviewer 中应该能抓到这个控件信息
  • appium 元素定位变动的问题 at 2020年12月22日

    首先不可见的元素是很普遍的,我们做 ui 自动化忽略掉它就行了,如果要分析原因,我猜测这个列表项是否有水平滑动的操作,水平滑动列表项之后,有个删除按钮,这个不可见的框是否是这个呢?

  • 理解和使用 WebDriverAgent at 2020年12月15日

    getpagesource 获取控件树就会卡主是吗

  • 理解和使用 WebDriverAgent at 2020年12月15日

    暂时还没遇到执行超时的情况,是哪个接口执行必现吗?

  • 理解和使用 WebDriverAgent at 2020年12月15日

    没有相关基础和经验的确容易让人望而生畏

  • 理解和使用 WebDriverAgent at 2020年12月15日

    appium 还在一直更新 wda, idb 在使用上问题挺多的,也不方便二次开发

  • 理解和使用 WebDriverAgent at 2020年12月14日

    消灭了零回复 😂

  • wda 的代码已经写的很好了,可以针对具体发现的错误进行优化

  • 还行吧,可能我测试的设备不够多,楼主是用的 appium 吗