51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 15296|回复: 36
打印 上一主题 下一主题

【你来问我来答第102期】:如何快速掌握APP自动化测试技能!(活动结束)

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:05
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    #
    发表于 2019-5-10 13:47:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    论坛ID:15237218
    现任职位:技术总监
    擅长技术:自动化测试,接口测试,性能测试
    项目经验: 罗科仕O2O平台测试、APP 哥伦布Columbus、猎聘网站测、APP拉勾网,APP京东金融
    讲师分享:拉勾网全方位移动端自动化实战
    讲师格言:随着移动互联网和智能设备越来越普及,移动App已经渗透到了我们的生活方方面面,因此很多互联网企业也因此开始对移动端产品质量越来越重视。测试初学者,如何快速掌握自动化测试流程、制定自动化测试方案、独立完成App自动化脚本编写与运行。

    各位会员可以在5月15日前以回帖的方式向客座专家提问。
    (请大家围绕本期客座专家的擅长领域进行提问、探讨)
    客座专家将在5月16日—5月31日为大家集中解答。

    机会难得,欢迎大家踊跃提问!



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    36#
    发表于 2019-5-26 14:16:05 | 只看该作者
    大神你好,我是个刚入门测试的菜鸟,想学习自动化测试,python和java选择哪个作为脚本语言好呢,还有工具大部分都是selenium,请给个指导意见
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35#
    发表于 2019-5-23 13:18:15 | 只看该作者
    很好奇,在虚拟机上,QTP或者selenuim自动化测试工具可以测试手机app吗?之前还没有尝试过这种方法。工作中现在会涉及到。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34#
    发表于 2019-5-23 11:57:28 | 只看该作者
    想问一下大家,手游自动化测试的可行性,前景怎么样?很想学啊!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33#
    发表于 2019-5-23 11:55:34 | 只看该作者
    问一下大神,请问APP专业的自动化测试平台有哪些?除了Testin云测试平台之外还有哪些呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2019-5-23 10:59:05 | 只看该作者
    老师,刚好看到这个机会,我想咨询一下,我在实际操作中,在进行android app自动化测试怎么切换屏幕?不知道如何下手
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2019-5-23 10:56:09 | 只看该作者
    大神,想问一下app自动化测试必须掌握一门语言吗?小白应该从哪开始学起?不懂代码的情况下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2019-5-19 12:22:23 | 只看该作者
    前辈,您好,请教您一下。如果是测试leader的话,如何带领团队快速实现手工测试到自动化测试的快速转换?
    可以从哪些方面去做或者准备?如何规范的去开展工作比较好一些,给个建议,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    29#
    发表于 2019-5-18 13:05:57 | 只看该作者
    那时那你 发表于 2019-5-17 16:42
    运行程序报错,请帮忙看下。

    appActivity  这个名字没对吧,找不到这个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2019-5-17 16:42:14 | 只看该作者
    运行程序报错,请帮忙看下。
    1. Exception in thread "main" org.openqa.selenium.WebDriverException:An unknown server-side error occurred while processing the command. Originalerror: Error occured while starting App. Original error: Activity used to startapp doesn't exist or cannot be launched! Make sure it exists and is alaunchable activity (WARNING: The server did not provide any stacktraceinformation)
    2. Command duration or timeout: 26.17 seconds
    3. Build info: version: '3.6.0', revision:'6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
    4. System info: host: 'MVALRI8VIXNETTP', ip:'192.168.56.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1',java.version: '1.8.0_151'
    5. Driver info: driver.version: AndroidDriver
    6.      atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    7.      at sun.reflect.NativeConstructorAccessorImpl.newInstance(UnknownSource)
    8.      atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    9.      atjava.lang.reflect.Constructor.newInstance(Unknown Source)
    10.      atorg.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
    11.      atorg.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
    12.      atorg.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
    13.      at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
    14.      atorg.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$24(ProtocolHandshake.java:359)
    15.      atjava.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    16.      atjava.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
    17.      atjava.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
    18.      atjava.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
    19.      atjava.util.stream.AbstractPipeline.copyInto(Unknown Source)
    20.      atjava.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    21.      atjava.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
    22.      atjava.util.stream.AbstractPipeline.evaluate(Unknown Source)
    23.      atjava.util.stream.ReferencePipeline.findFirst(Unknown Source)
    24.      atorg.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:362)
    25.      atorg.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:136)
    26.      atorg.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
    27.      atio.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:89)
    28.      atorg.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586)
    29.      atio.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
    30.      atio.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
    31.      atio.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
    32.      atorg.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:217)
    33.      atorg.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:140)
    34.      atio.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)
    35.      atio.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:83)
    36.      atio.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:93)
    37.      atio.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:72)
    38.      atappium_fn_testing.CalculatorTest.main(CalculatorTest.java:28)
    复制代码


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
    发表于 2019-5-17 16:36:41 | 只看该作者
    老师, 请问启动Android device monitor以后,device正常在线,却不显示进程的原因以及解决方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26#
    发表于 2019-5-17 16:22:55 | 只看该作者
    请教老师一个问题:
    新建了一个arm的虚拟测试机器,但启动时报错,想问一下这是哪没有配置好吗(x86的能正常启动)

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    25#
    发表于 2019-5-16 11:27:23 | 只看该作者
    风清扬998 发表于 2019-5-14 14:36
    老师您好,  对一款app进行性能测试,有https协议加密。采用loadrunner录制时脚本为空,无论是手动录制还是 ...

    用工具录制脚本,不灵活,你可以学习一门语言,手动编写脚本
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    24#
    发表于 2019-5-16 11:24:51 | 只看该作者
    罗伟 发表于 2019-5-16 10:55
    你好,app自动化跑脚本时,重装app后,会经常遇到权限确认的,例如是否允许定位啊,拍照啊等等。 这些东西 ...

    只需要定位到“始终允许”按钮,点击确定就可以了。还有一个问题是这种弹窗的个数不确定,有的app是2个有的是3个,为了解决这个问题,可以专门写个判断方法。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    23#
    发表于 2019-5-16 11:21:20 | 只看该作者
    说书人 发表于 2019-5-16 10:50
    用xpath定位元素报错,老师帮忙解答一下是什么类型的报错

    直接用原生控件登录,不切入webview
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    22#
    发表于 2019-5-16 11:05:49 | 只看该作者
    lcombat 发表于 2019-5-13 12:04
    您好,请问如何学习自动化测试,需要具备那些几次知识,还有什么样的项目适合做自动化测试?麻烦请您指导一 ...

    有以下几个特点的项目比较适合自动化测试:
    1.任务明确,不会频繁变动
    2.每日构建后的测试验证
    3.比较频繁的回归测试
    4.软件系统界面稳定,变动少
    5.需要在多平台运行的相同测试案列,大量的重复任务(当前流行手机机型)
    6.软件维护周期长
    7.系统开发较为规范,能够保证系统的可测性
    8.就被自动化测试平台
    9.测试人员具备较强的编程能力

    当然,并非以上9条都具备的情况下才能展开自动化测试工作,需要测试人员做出权衡。在我呢普遍的自动化测试经验中,一般满足以下三个条件就可以对项目开展自动化测试。
    一.软件需求变动不频繁
    自动化测试脚本变化的大小与频率决定了自动化测试的维护成本。如果需求变动过于频繁,那么测试人员就需要根据变动的测试需求来不断的更新自动化测试用例,从而适应新的功能。而脚本的维护本身就是一个开发代码的过程,需要扩展、修该、调试,有时还需要对框架做出调整。如果所花费的维护成本高于利用其节省的测试成本,那么自动化测试就是去了它的价值意义。
    二.项目周期较长
      由于自动化测试需求的确定、自动化测试框架的设计脚本的开发与调试均需要时间来完成
    而这个本身就是一个软件的开发过程,如果项目的周期较短,没有足够的时间去支持这样一个过程的话,那么就不需要进行自动化测试了。
    三.自动化测试脚本可以重复使用
    自动化测试脚本的重复使用要从三个方面来考量:一是所测的项目之间是否存在很大的差异性(如C/S系统架构与B/S系统架构的差异);二是所选择的测试技术和工具是否适应这种差异;三是测试人员是否有能力设计开发出适应这种差异的自动化测试框架。具体的可以看一下我的课程《拉勾网全方位移动端自动化实战》里面从基础到整个项目都有详细的阐述。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    21#
    发表于 2019-5-16 11:03:59 | 只看该作者
    黄峰KA 发表于 2019-5-16 10:57
    设置启用ui2报错,不用就正常
    老师,
    appium日志:

    APPium和uiautomatorviewer不能同时使用,不然会出错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 18:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    20#
    发表于 2019-5-16 11:01:01 | 只看该作者
    榴莲侠客 发表于 2019-5-14 15:05
    大牛好,AppScan的浏览器打开了系统网址,但是系统功能却不能操作是怎么回事,请赐教谢谢!

    你在工具配置方面是否设置好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2019-5-16 10:57:49 | 只看该作者
    设置启用ui2报错,不用就正常
    老师,
    appium日志:
    1. [Appium] Welcome to Appium v1.9.1

    2. [Appium] Appium REST http interface listener started on 0.0.0.0:4723

    3. [HTTP] --> POST /wd/hub/session

    4. [HTTP] {"desiredCapabilities":{"app":"E:software\\youdaonote_android_6.2.6_youdaoweb.apk","appActivity":".activity2.SplashActivity","appPackage":"com.youdao.note","noReset":"true","automationName":"UIAutomator2","platformName":"Android","deviceName":"first","version":"7.1.1"},"capabilities":{"alwaysMatch":{"appium:app":"E:software\\youdaonote_android_6.2.6_youdaoweb.apk","appium:appActivity":".activity2.SplashActivity","appium:appPackage":"com.youdao.note","appium:automationName":"UIAutomator2","appium:deviceName":"first","appium:noReset":"true","platformName":"android","version":"7.1.1"},"firstMatch":[{}]}}

    5. [color=rgba(0, 0, 0, 0.56)][W3C] Calling AppiumDriver.createSession() with args: [{"app":"E:software\\youdaonote_android_6.2.6_youdaoweb.apk","appActivity":".activity2.SplashActivity","appPackage":"com.youdao.note","noReset":"true","automationName":"UIAutomator2","platformName":"Android","deviceName":"first","version":"7.1.1"},null,{"alwaysMatch":{"appium:app":"E:software\\youdaonote_android_6.2.6_youdaoweb.apk","appium:appActivity":".activity2.SplashActivity","appium:appPackage":"com.youdao.note","appium:automationName":"UIAutomator2","appium:deviceName":"first","appium:noReset":"true","platformName":"android","version":"7.1.1"},"firstMatch":[{}]}]

    6. [BaseDriver] Event 'newSessionRequested' logged at 1540195528001 (16:05:28 GMT+0800 (中国标准时间))

    7. [BaseDriver] The capabilities ["version"] are not standard capabilities and should have an extension prefix

    8. [BaseDriver] Boolean capability passed in as string. Functionality may be compromised.

    9. [Appium] Creating new AndroidUiautomator2Driver (v1.19.0) session

    10. [Appium] Capabilities:

    11. [Appium] platformName: android

    12. [Appium] version: 7.1.1

    13. [Appium] app: E:software\youdaonote_android_6.2.6_youdaoweb.apk

    14. [Appium] appActivity: .activity2.SplashActivity

    15. [Appium] appPackage: com.youdao.note

    16. [Appium] automationName: UIAutomator2

    17. [Appium] deviceName: first

    18. [Appium] noReset: true

    19. [BaseDriver] W3C capabilities {"alwaysMatch":{"platformNa... and MJSONWP desired capabilities {"app":"E:software\\youdaon... were provided

    20. [BaseDriver] Creating session with W3C capabilities: {"alwaysMatch":{"platformNa...

    21. [BaseDriver] Boolean capability passed in as string. Functionality may be compromised.

    22. [BaseDriver] Capability 'noReset' changed from string to boolean. This may cause unexpected behavior

    23. [BaseDriver] The following capabilities were provided, but are not recognized by appium: version.

    24. [BaseDriver] Session created with session id: 0039c460-9e76-4917-9367-558a634699b9

    25. [BaseDriver] Using local app 'E:software\youdaonote_android_6.2.6_youdaoweb.apk'

    26. [UiAutomator2] Checking whether app is actually present

    27. [AndroidDriver] Java version is: 1.8.0_191

    28. [AndroidDriver] Retrieving device list

    29. [ADB] Trying to find a connected android device

    30. [ADB] Getting connected devices...

    31. [ADB] 1 device(s) connected

    32. [AndroidDriver] Using device: 192.168.159.101:5555

    33. [ADB] Setting device id to 192.168.159.101:5555

    34. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell getprop ro.build.version.sdk'

    35. [ADB] Current device property 'ro.build.version.sdk': 25

    36. [ADB] Device API level: 25

    37. [ADB] Getting device platform version

    38. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell getprop ro.build.version.release'

    39. [ADB] Current device property 'ro.build.version.release': 7.1.1

    40. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell wm size'

    41. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell wm density'

    42. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell getprop ro.product.model'

    43. [ADB] Current device property 'ro.product.model': first

    44. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell getprop ro.product.manufacturer'

    45. [ADB] Current device property 'ro.product.manufacturer': Genymotion

    46. [ADB] Device API level: 25

    47. [ADB] Running 'E:\software\platform-tools\adb.exe -P 5037 -s 192.168.159.101\:5555 shell am force-stop io.appium.uiautomator2.server'

    48. [ADB] Checking app cert for C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk

    49. [ADB] Cannot use apksigner tool for signature verification. Defaulting to verify.jar. Original error: Could not find apksigner.bat in C:\Users\Administrator\AppData\Local\Programs\Appium\platform-tools\apksigner.bat,C:\Users\Administrator\AppData\Local\Programs\Appium\emulator\apksigner.bat,C:\Users\Administrator\AppData\Local\Programs\Appium\tools\apksigner.bat,C:\Users\Administrator\AppData\Local\Programs\Appium\tools\bin\apksigner.bat. Do you have the Android SDK installed at ''?

    50. [ADB] 'C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk' is not signed with debug cert.

    51. [ADB] Signing 'C:\Users\Administrator\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk' with default cert

    52. .......
    复制代码


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2019-5-16 10:55:20 | 只看该作者
    你好,app自动化跑脚本时,重装app后,会经常遇到权限确认的,例如是否允许定位啊,拍照啊等等。 这些东西怎么去处理。避免因为这个影响到跑脚本。 多谢!
    ps. 我用的是calabash ,底层robotium.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2019-5-16 10:52:24 | 只看该作者
    pom配置文件一直有报错 ,表头的三个网址都找不到文件,该怎么解决啊?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 17:20 , Processed in 1.577969 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表