Appium自动化测试遇到的chromedriver/chrome坑

发表于:2020-5-19 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:枫叶    来源:51Testing软件测试网原创

#
Appium
分享:
  一、前言
  app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了每次都需要重新去下载对应的chromedriver版本。如何根据当前的webdriver版本去匹配对应chromedriver版本,这是一个难题。
  根据官方文档翻译过来看,版本不匹配的话一般会报错:
   An unknown server-side error occurred while processing the command.
  Original error: unknown error: Chrome version must be >= 55.0.2883.0
  二、Chrome driver启动
  用chrome浏览器运行自动化测试用例时,如果报这样的错误
 selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing value
  可以这样来解决:指定chromedriver.exe驱动绝对路径
  driver = webdriver.Chrome(r'e:\xxx\chromedriver.exe')
  三、常遇错误
  我们在使用native和h5混合的应用程序测试时,可能会遇到报错
   E:\ProgramFiles(x86)\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:1031:
  UserWarning: name used for saved screenshot does not match file type. It should end with a `.png` extension。
  "type. It should end with a `.png` extension", UserWarning)
  ..['NATIVE_APP', 'WEBVIEW_chrome', 'WEBVIEW_com.android.browser']
  NATIVE_APP
  Doctor my center Test Over.
  E
  =====================================================
  ERROR: test_e_AboutContact (__main__.center)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
  File "E:/ATS/TCyDoctorNew/test_case/test_dir/test_4doctormycenter.py", line 371, in test_e_AboutChengyiContact driver.switch_to.context('WEBVIEW_com.android.browser')
  File"E:\ProgramFiles(x86)\Python\Python37\lib\site-packages\appium\webdriver\switch_to.py", line 31, in context
  self._driver.execute(MobileCommand.SWITCH_TO_CONTEXT, {'name': context_name})
  File"E:\ProgramFiles(x86)\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
  self.error_handler.check_response(response)
  File"E:\ProgramFiles(x86)\Python\Python37\lib\site-packages\appium\webdriver\errorhandler.py", line 29, in check_response raise wde
  File"E:\ProgramFiles(x86)\Python\Python37\lib\site-packages\appium\webdriver\errorhandler.py", line 24, in check_response
  super(MobileErrorHandler, self).check_response(response)
  File "E:\Program Files (x86)\Python\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
  raise exception_class(message, screen, stacktrace)
  selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '55.0.2883'. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details.
  ----------------------------------------------------------------------
  Ran 3 tests in 66.001s
  FAILED (errors=1)
  Process finished with exit code 0
  我们来看报错信息,第一个是warning,是指截图的格式最好是png,这个与本文无关我们先忽略,关键看第二个错误,它主要缘于“No Chromedriver found that can automate Chrome '55.0.2883”,在appium日志里也能看到详情
  四、了解chromedriver
  通过管理Chromedriver, Appium支持安卓网页和支持谷歌的混合app的自动化。通过npm package安装的总是绑定最新的chromedriver。
  

版权声明:本文出自《51测试天地》第五十七期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号