robotframework基础入门:(2):常见问题对应方法

这里写图片描述
使用robot进行基于关键字的测试,经常会遇到一些问题,这里列出最常见的几个问题,因为这四个问题是在使用官方demo代码时候遇到频度最多的,也是在新手入门时可能花时间最多的地方之一。

问题1:缺少robotframework下的selenium库

信息提示:
Importing test library ‘Selenium2Library’ failed: ImportError: No module named Selenium2Library

原因:缺少robotframework的selenium库

对应方法:pip install robotframework-selenium2library

安装日志

liumiaocn:~ root# pip install robotframework-selenium2library
Collecting robotframework-selenium2library
  Downloading https://files.pythonhosted.org/packages/1c/f1/612f9aa29f33b25a1034749dde67dfbf6de9b297709d06df71f9bfabfc81/robotframework_selenium2library-3.0.0-py2.py3-none-any.whl
Collecting robotframework-seleniumlibrary>=3.0.0 (from robotframework-selenium2library)
  Downloading https://files.pythonhosted.org/packages/35/06/bac4b9dad29f4c59bb0c1d781c995940f4a39a964d5e0ea882e69c58495e/robotframework_seleniumlibrary-3.1.1-py2.py3-none-any.whl (77kB)
    100% |################################| 81kB 118kB/s 
Requirement already satisfied: selenium>=2.53.6 in /usr/local/lib/python2.7/site-packages (from robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library) (3.12.0)
Requirement already satisfied: robotframework>=2.8.7 in /usr/local/lib/python2.7/site-packages (from robotframework-seleniumlibrary>=3.0.0->robotframework-selenium2library) (3.0.4)
Installing collected packages: robotframework-seleniumlibrary, robotframework-selenium2library
Successfully installed robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-3.1.1
liumiaocn:~ root# 

问题2:缺少chrome驱动

信息提示:
WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.

原因:使用chrome进行测试,但是缺少chromedrive

对应方法:下载操作系统对应的可执行文件chromedriver,并将其置于PATH搜索路径中

安装日志:


liumiaocn:robotframework-webdemo-9206bb637e9d liumiao$ pip install selenium
Requirement already satisfied: selenium in /usr/local/lib/python2.7/site-packages (3.12.0)
liumiaocn:robotframework-webdemo-9206bb637e9d liumiao$ 
liumiaocn:tmp liumiao$ wget https://chromedriver.storage.googleapis.com/2.40/chromedriver_mac64.zip
--2018-06-20 21:25:11--  https://chromedriver.storage.googleapis.com/2.40/chromedriver_mac64.zip
Resolving chromedriver.storage.googleapis.com (chromedriver.storage.googleapis.com)... 172.217.160.80
Connecting to chromedriver.storage.googleapis.com (chromedriver.storage.googleapis.com)|172.217.160.80|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5665054 (5.4M) [application/zip]
Saving to: 'chromedriver_mac64.zip'

chromedriver_mac64.zip            100%[=============================================================>]   5.40M  4.14MB/s    in 1.3s    

2018-06-20 21:25:13 (4.14 MB/s) - 'chromedriver_mac64.zip' saved [5665054/5665054]

liumiaocn:tmp liumiao$ unzip chromedriver_mac64.zip 
Archive:  chromedriver_mac64.zip
  inflating: chromedriver            
liumiaocn:tmp liumiao$ ls
chromedriver                 com.apple.launchd.XhqTYNawrt powerlog
chromedriver_mac64.zip       com.apple.launchd.vQNkARNhZo
liumiaocn:tmp liumiao$ cp chromedriver /usr/local/bin
liumiaocn:tmp liumiao$ 
liumiaocn:tmp liumiao$ which chromedriver
/usr/local/bin/chromedriver
liumiaocn:tmp liumiao$

动作检证:
执行如下操作,期待结果为不提示错误,并且能够自动将chrome页面打开,其实这是在确认selenium的动作,在基础的介绍中我们提到过robotframework只是一个框架,框架能够正常动作的前提当然是支持其的各个部分均能正常动作。

liumiaocn:tmp liumiao$ python
Python 2.7.15 (default, Jun 17 2018, 12:46:58) 
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> browser=webdriver.Chrome()
>>> 

robotframework基础入门:(2):常见问题对应方法_第1张图片

问题3:缺少firefox驱动

信息提示:
WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.

原因:使用firefox进行测试,但是缺少geckodriver

对应方法:下载操作系统对应的可执行文件geckodriver(https://github.com/mozilla/geckodriver/releases),并将其置于PATH搜索路径中

安装日志:

liumiaocn:~ liumiao$ wget https://github.com/mozilla/geckodriver/releases/download/v0.21.0/geckodriver-v0.21.0-macos.tar.gz
--2018-06-20 21:32:37--  https://github.com/mozilla/geckodriver/releases/download/v0.21.0/geckodriver-v0.21.0-macos.tar.gz
Resolving github.com (github.com)... 52.74.223.119, 13.250.177.223, 13.229.188.59
Connecting to github.com (github.com)|52.74.223.119|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/25354393/0e0f5406-70e7-11e8-8515-91aa7ae9bf99?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180620%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180620T133238Z&X-Amz-Expires=300&X-Amz-Signature=feaddc47be2e2b0d3ff0372cad64eaa56308c3c7f89c4a1140ba4b39611211f8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dgeckodriver-v0.21.0-macos.tar.gz&response-content-type=application%2Foctet-stream [following]
--2018-06-20 21:32:39--  https://github-production-release-asset-2e65be.s3.amazonaws.com/25354393/0e0f5406-70e7-11e8-8515-91aa7ae9bf99?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180620%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180620T133238Z&X-Amz-Expires=300&X-Amz-Signature=feaddc47be2e2b0d3ff0372cad64eaa56308c3c7f89c4a1140ba4b39611211f8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dgeckodriver-v0.21.0-macos.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.130.67
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.130.67|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1874024 (1.8M) [application/octet-stream]
Saving to: 'geckodriver-v0.21.0-macos.tar.gz'

geckodriver-v0.21.0-macos.tar.gz  100%[=============================================================>]   1.79M   370KB/s    in 5.0s    

2018-06-20 21:32:45 (370 KB/s) - 'geckodriver-v0.21.0-macos.tar.gz' saved [1874024/1874024]
liumiaocn:~ liumiao$ tar xvpf geckodriver-v0.21.0-macos.tar.gz 
x geckodriver
liumiaocn:~ liumiao$ ls geckodriver
geckodriver
liumiaocn:~ liumiao$ cp geckodriver /usr/local/bin
liumiaocn:~ liumiao$ which geckodriver
/usr/local/bin/geckodriver
liumiaocn:~ liumiao$

问题4:安装firefox或者chrome

信息提示:
selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities

原因:因为robotframework是利用了selenium进行功能测试,而selenium则是在webdriver的基础上进行的,测试实际是在模拟用户操作,自然测试环境中需要安装对应版本的浏览器则是一个基本前提。

对应方法:
安装对应版本的firefox或者chrome,比如MacOS上的firefox的安装可以通过如下页面进行:https://www.mozilla.org/en-US/firefox/new/?utm_medium=referral&utm_source=getfirefox-com

总结

robotframework是一个在关键字测试方面做的不错的一个框架,但是在实际的使用过程中多少还有不少用户使用起来很不方便的地方,可用的文档也较为缺乏,上面的问题只是冰山一角,但是由于目前同类的开源的工具成气候的也不是很多,自己写也需要很多精力和人力的投入,继续整理和总结,使得这个框架能够用起来更加方便还是需要社区有更多的努力。

你可能感兴趣的:(工具,#,自动化测试)