• robotframework 的 autoItLibrary 应该是你需要的把

  • #1 楼 @wuxixuxiaodong 是的,robotframework 看了 1 个星期,基本上就是用来做报告的,这点的确是我的不足之处。用 execl 主要就是为了直观的做数据驱动。方便给测试人员生成测试用例。回头要去补充一下 robot 的知识。

  • 扒原理-UI 自动化之三把刀 at 2017年02月17日

    分析的很到位,能不能让程序自动去执行这三把刀 就是八仙过海,各显神通了。

  • Appium 1.6.3 运行问题 at 2017年02月06日

    另外一种方法就是写在代码里

    driver = webdriver.Remote(
                    command_executor='http://127.0.0.1:4723/wd/hub',
                    desired_capabilities={
                        'app': app,
                        'automationName':"xcuitest",
                        'platformName': 'iOS',
                        'platformVersion': '9.3',
                        'deviceName': 'iPad Pro',
                        'autoAcceptAlerts': True,
                        'noReset':True,
    
  • [testerhome 单身群] 成立啦 at 2017年02月05日

    你们这是开单身群还是开娃娃亲的群呀。😃

  • #9 楼 @chenhengjie123
    你看下我说的第一步,就是通过给参数设置 各种数值,然后把他们排列组合一下,自动生成 testcase。 是否和你说的小工具的意思符合。

  • #31 楼 @zhangzhao_lenovo
    今天使用了楼主的软件,有几点疑问,想当面和楼主交流下。不知道楼主能给一个 qq 否。
    另外今天在使用软件的时候发现了一个小 bug,可能楼主当初设置好了参数以后忘记改了。

    根据上面我的截图,只要 json 的返回大小超过 16384,那么就不能拿到完整的 json,就算我们做好了 monk 的准备,程序也会报错。

    建议可以把 github 上的代码修改下,把这个接受值调大一点。事实证明,16384 的容量可能不够用。

    PS:python2 和 python3 写法上真的有很多区别。不过在 debug 这个 bug 的同时,学到了很多东西,很感谢。

  • #6 楼 @chenhengjie123
    关于边界值是否需要生成用例,你的小程序去生成,如果我这样安排如何。一张 execl 里面写主要 case,另外一张或者几张 execl 表里专门用来测试边界值,比如有参数 A,B,C,表格 1 里面的 case 是一些主要通过 case。 然后 表格 2 里面 我们固定 B,C,可以做一个 A 的边界值全 case 测试。如果有必要还可以有表格 3,固定 A,C,测试 B 的边界值的全 case 测试。这个以前我在单元测试的时候,因为遇上过参数的排列太多了。造成一张 execl 表不可能存储下全部 case,所以我们公司就用分表去解决这个问题。

    用 sql 来做预期值其实是一种美好的期望,谢谢你指出来。虽然可能在动态的测试环境中减少一些工作量,但是的确根据测试环境的不同,不一定就是一句 sql 就可以完成的。这个时候你说的固定数据条件 可能就是最好的解决方案。 前提就是要有固定数据的条件或者规定。这个应该不算很难。的确是个好建议。

  • 羡慕呀,我们公司不再现的就放弃了。 没有日志可以让我们进行排查。尤其是各种莫名其妙的闪退 bug。

  • #4 楼 @chenhengjie123 很感谢你提供的思路,我开始设计的初衷 是尽量保证 case 不遗漏,通过对参数的排列组合虽然可以尽可能的提高覆盖率,正如你说的,会多出很多非核心功能的 case。 如果给参数 加上一个优先级,那么在排列组合的时候,每个 case 的参数就会有一个自己的优先级,然后根据 case 的参数优先级排列,优先级高的排在前面,这种方法不知道可行否?

    我突发奇想,开发设计一个接口,接口中有很多数据。我们去做预期值的时候 也可以当做一个我们测试自己写的小接口,由于这个接口只要返回一个值,相对来说准确度就很高。 我们拿 小接口去测试 开发写的大接口的特定的数据。 一个目的,冲两条路走,结果还是一样。这样的框架是否会提高自动化的程度。
    举个例子
    接口 api 的参数 1,参数 2,参数 3 然后返回了 json 我现在要做 json 字段 a 的检测(字段 a 数据是从数据库里通过开发写的 sql 拿到的)
    我们测试用 参数 1,参数 2,参数 3 访问数据库,用 sql 语句直接拿到字段 a 的值。
    然后比较开发写的接口中字段 a 的值 和我们写的字段 a 的值是否一致。
    这样我们的自动化程度是否会提高呢?

  • #1 楼 @hu_qingen 看了你写的文章,有几个问题想当面问下,不知道可否给一个联系方式 qq 或者微信。

  • 你试试看 ./Scripts/bootstrap.sh -d

  • TesterHome 新秀培养计划 at 2017年01月08日

    Hi,你好~
    姓名:lunamagic
    QQ:1409378927@qq.com
    工作年限:8 年
    公司:澎湃新闻
    工作范围: selenium + Python 进行 UI 自动化、使用 Appium 手机端自动换测试,主要学习和使用语言 Python
    兴趣方向:测试开发、自动化测试、单元测试
    介绍:虽然现在是小 lead,但是始终觉得自动化测试是将来测试的方向,也想加强一下自己的竞争力,半年前开始自学 selenium,基本可以完成 UI 自动化,appium 主要在 ipad 上做自动化测试。在自动化测试还是一个菜鸟,希望好通过新秀培养计划锻炼自己。

  • @softblank 完全同意你的猜想,我在 iPad 9.3.5 上可以启动,但是在我手机上 10.1.1 上和你一样 卡在 setup 。 我在 webdriveragent 上也找到了类似的问题,但是好像还没有解决。
    https://github.com/facebook/WebDriverAgent/issues/429

  • @softblank Fetching dependencies
    *** Downloading peertalk.framework binary at "v1.0"
    *** Downloading RoutingHTTPServer.framework binary at "v1.0.1"
    *** xcodebuild output can be found in /var/folders/g9/z52tkkys3v12z0zp1ngm5rg80000gn/T/carthage-xcodebuild.mOHzTn.log

    前面看到你也遇上了这个问题,
    你的解决方法是
    我怀疑是 pods 没有装好,于是又有吧 cocoapods 写了重新装了一遍,现在 appium 和 WDA 都好了

    这个我没有接触过,能否说的详细点。

  • @appium_test 我请问下在模拟器下我可以进行 appium 的测试,但是 webdriveragent 会打开两次,你这里是否有是一样的现象。

  • @appium_test
    我遇上这个问题,不知道能否解
    运行时候
    [debug] [XCUITest] Carthage found: /usr/local/bin/carthage
    [debug] [XCUITest] Killing hanging processes
    [debug] [XCUITest] Using real device logger 'idevicesyslog'
    [debug] [XCUITest] Beginning test with command 'xcodebuild build test -project /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination id=522e9f23ca5844b4e3fe09b733c611f7592b7167 -configuration Debug' in directory '/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent'
    [XCUITest] Waiting for WebDriverAgent to start on device

    这里我是等待 webdriveragent 启动,但是我看 appium test 他是启动 webdriveragent 成功。看来这里开始有区别了。

    [debug] [XCUITest] Log file for xcodebuild test: /Users/luna/Library/Developer/Xcode/DerivedData/WebDriverAgent-brdadhpuduowllgivnnvuygpwhzy/Logs/Test/2BE20AE2-53C6-42FB-82F1-604F7FD98323/Session-WebDriverAgentRunner-2017-01-03_181921-fOdEWu.log
    [debug] [WebDriverAgent] Device: Jan 3 18:19:27 iPad XCTRunner[1323] : Running tests...
    [debug] [WebDriverAgent] Device: Jan 3 18:19:28 iPad XCTRunner[1323] : Continuing to run tests in the background with task ID 1
    [debug] [WebDriverAgent] Device: Jan 3 18:19:29 iPad XCTRunner[1323] : Built at Jan 3 2017 17:06:52
    [debug] [WebDriverAgent] Device: Jan 3 18:19:29 iPad XCTRunner[1323] : ServerURLHere->http://10.10.42.147:8100<-ServerURLHere
    [debug] [WebDriverAgent] Device: Jan 3 18:19:29 iPad XCTRunner[1323] : Listening on USB

    通知我 Listenting on USB
    我在 appium 的官网上找到了应该是最接近的答案
    https://github.com/appium/appium/issues/7313
    但是,他说需要修改 js。
    我打开我本机上的 js,但是已经和 7313 上解释的代码已经不一样了。
    不知道有高手能帮忙指导下吗?

    ps:我 mac 的时间和 iPad 的时间 都是自动获取的。所以应该不会有时间差。

  • @13564521636 的确是 sh ./Scripts/bootstrap.sh -d 没有搞定,我今天输入命令一直提示 不存在 bootstrap,原因是 carthage 没有装好,因为我以前装过,所以还需要做 brew link 什么的。 我是卸载 carthage,然后安装,根据提示搞定的。brew link --overwrite carthage