• 不懂。
    看下一楼的帖子吧,有重装 apk 等偏方……

  • 正则表达式没有找到匹配的结果,也没有缺省值的时候,使用变量的地方会直接显示${变量名}

    响应里换行了,正则这样写试一试
    data": {\n"foundMultiple": "0",\n"authorizeToken": "(.+?)"

    正则表达式在线测试

  • #12 楼 @chenhengjie123
    Test Fragment 配合 Include Controller 也是封装好方法。
    《移动 App 测试实战》里有讲他们用 Jmeter 时的用例分层结构。

  • #34 楼 @fengcanfly
    主楼的做法,最后不是用 Maven 调用 TestNG。
    如果你是指 Maven - Surefire Plugin - TestNG 这样调用,写帖子的时候还做不到 suit 级别的并行。

  • #8 楼 @chenhengjie123
    copy 的地方,举个栗子?

  • #4 楼 @darker50
    谷歌趋势 的话,现在热度差不多。不过我猜 Jmeter 下降是因为它很成熟,这几年没什么大变化,所以讨论的少了。

    我这也还没定用啥。

  • 感谢 fir.im —— 结果公布 at 2015年11月05日

    做 Android 安全测试之前你应该知道的工具 (一) +1
    Android 内存泄漏之 RD 是如何检测-LeakCanary +1

  • #2 楼 @chenhengjie123
    免费版有,添加到 Test Steps 里的请求有 Assertions 。

    Assersion

  • 让按钮不可用也许只用改布局文件。

    登录可以参考这个UiAutomator 与 Shell 结合的力量,或者其他 UI 自动化工具都可以。

    看看会不会把登录状态写在 sqlite 或者 SharedPreference 里。

  • appium 的 java-client 在 2.0 之前只有 AppiumDriver
    2.0 之后分成 AndroidDriver 和 IOSDriver
    更新说明

  • 下班前的会每天都这么长?之前只开早会,也有很多天没啥要说的几分钟就完了。

    文星二楼有几家还是不错的

  • 邮件上一般没人看,评审会上一条条解说的时候才听到 “呀,这里需求改了”

  • 滑动之后 dump 出 xml 文件看下,有新出现的元素吗

  • wows 和 daily stand up 看不懂啊。

  • #30 楼 @nancy2896
    需要看失败时候的 appium server 日志。

  • Episode 388: Testing vs Monitoring at 2015年09月03日

    A user-facing bug causes search results to be unavailable for your service. Someone suggests adding a prober to monitor the service and, if search results are unavailable, notify the team via bug report. Google has plenty of prober options available; if we pick one and use it we’re done, right?

    一个用户交互缺陷使你的服务得不到搜索结果。有人建议添加一个探测器监控服务,在无法搜索时把缺陷报告通知给团队。谷歌有大量的探测器可供选择;我们挑选一个使用,就可以了吗?

    Not necessarily. Just because monitoring could detect a bug does not mean it is the best, or only, solution. For any given bug, you should consider which mixture of monitoring and testing is appropriate. Monitoring and testing each have pros and cons, and solve slightly different problems.
    Monitoring observes—and sometimes interacts with—user-facing production systems. Monitoring is useful for detecting:

    未必。监控可以发现缺陷不意味着它就是最好的或唯一的解决方案。对任何给定的缺陷,你需要考虑怎样混合使用监控和测试是恰当的。监控和测试各有利弊,可以解决的问题有微妙的不同。
    监控观察面向用户的生产系统,有些时候和生产系统交互。监控在寻找下述问题时是有帮助的:

    • Load issues: Real users accessing real services induces load on real servers. The only way to measure the effect of production traffic is to directly measure the servers themselves. Common measurements include QPS, RPC response times, memory usage, and disk usage.

    • 负载问题:真用户访问实时服务会在真服务器上产生负载。衡量产品业务效果的唯一方式是直接通过服务器测量。常见数据有 QPS,RPC 响应时间,内存和磁盘的使用情况。

    • Service unavailability: A service might become unavailable because (1) the service itself is down, or (2) the services on which it depends are unavailable. Monitoring end-user experiences (e.g., “Does web search return results?”) is a great way to detect and alert about this situation.

    • 服务不可用:原因可能是(1)它自己挂了,或(2)它依赖的服务不可用。监控使用者的体验(例如,“网页搜索返回结果了吗?”),在这种情况下发出警报是一个很好的方式。

    • Unanticipated user behavior: Even the most well-designed test scenarios can fail to anticipate real user behavior. Monitoring can inform your quality strategy by observing and measuring real-world behavior.

    • 预料之外的用户行为:再精心设计的测试场景也不能预测真实用户的所有行为。监控通过观察和测量控真实世界的行为,给你的质量策略提供情报。

    • Version incompatibility: Different binary versions may interact incompatibly in ways that are hard to detect without production data. Monitoring can detect unanticipated data inconsistencies.

    • 版本不兼容:没有生产环境的数据很难发现不同版本的二进制包产生的兼容性问题。监测可以发现没预想到的数据不一致。

    • Data changes: User-facing data can change over time, sometimes in bad ways. Monitoring can statistically characterize data, diff them against previous data state, and alert on outside-of-threshold changes.

    • 数据更改:随着时间推移,用户数据可能以恶劣的方式更改。监控可以统计特征数据,和以前的数据对比,提醒阈值外的更改。

    Testing isolates components in a non-production environment and verifies components’ behavior. Since it occurs prior to release, it reduces the cost of fixing a bug. Testing is useful for ensuring:

    测试,在隔离组件的非生产环境验证组件行为,由于这在在发布之前,测试节省了修复缺陷的成本。测试在确保下述方面时是有帮助的:

    • Functional correctness: A hermetic unit test remains the best way to prove that a small piece of code logic fulfills its interface contract.

    • 功能正确性:一个和其他部分隔离的单元测试仍然是证明一小段代码逻辑实现了接口约定的最佳方法。

    • Inter-component compatibility: An integration test is an excellent way to ensure that two components (e.g., a client and a Stubby service) work together properly.

    • 组件间兼容性:集成测试是一个很好的方式用于确保两个组件(例如,一个客户端和一个 stubby 服务)能在一起正常的工作。

    When considering which techniques to employ, review the list above to determine which ones are appropriate. Worried about an individual vendor’s ad inventory suddenly dropping? Monitor ad volume for each vendor! Unsure if the price2value() function handles currency conversions? Write a unit test! Not sure how often users actually log into your system? Monitor login events! A judicious mix of monitoring and testing will speed up development and ensure that fewer bugs reach end users.

    考虑使用哪种技术时,看看上面的列表,决定哪个更合适。担心一个商家的广告费用突然下降?监控每个商家的广告份额!不确定 price2value() 函数有没有处理货币转换?写一个单元测试!不知道用户多久登录一次?监控登录事件!明智的组合监控和测试可以加快开发,确保到达最终用户的缺陷更少。

  • 排版还是不对,应该是这个效果。

    MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,
    1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置添加到系统
    路径中。 [C:\Users\shengjiang\AppData\Roaming\npm\node_modules\appium\node_modul
    es\ws\node_modules\bufferutil\build\binding.sln]
    

    手动安装时啥意思?在线安装是啥意思?

  • 我觉得不能在源码里埋点,下一个考虑是从 logcat 日志获取时间,为什么要用 appium 这种呀?

  • 1、现在手机上已经有 app 了吧?有的话在 mac 终端运行这段:

    /Applications/Xcode.app/Contents/Developer/usr/bin/instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate -D /tmp/appium-instruments/instrumentscli0.trace -w 27914dfb88cedd20976995846287ac8b63d9eee7 com.soufun.SoufunBasic -e UIASCRIPT "/Users/eternally/Library/Application Support/appium/bootstrap/bootstrap-6745615c424bb0c0.js" -e UIARESULTSPATH /tmp/appium-instruments
    

    输出是什么?

    2、解压缩 .ipa 文件,右键 app 显示包内容,有 Info.plist 文件,用 Xcode 打开,Bundle identifier 是什么?

    3、签名用的 Provisioning Profiles ,在开发者网站截个图看看。

    其实不算重现,因为原来是 com.test.SeeTest 现在是 com.soufun.SoufunBasic

  • 你这次的错是
    error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
    发错 log 了吧。
    重现下之前的错误。