手把手教你学robotframework自动化框架(第七章:出坑秘籍,问题汇总)

目录

1、环境配置(完成)

2、一个简单的实例(完成)

3、让用例更完善一些(2021年01月15日完成完成)

4、用例的前置和后置(2021年01月18日完成)

5、关键字的封装和传参(2021年1月23日完成)

6、创建自己的资源文件(2021年1月23日完成)

7、出坑秘籍,问题汇总(2021年1月25日完成)

8、如何自己编写一个library(2021年1月28日完成)

9、数据库连接

9、如何支持win32应用

10、接口测试

11、持续集成

12、自定义包

13、ride使用(快捷键、tear down、timeout、template、tags)

14、常见问题


问题1、安装后,testcase的编辑区域很小无法使用。

--->解决:

这是因为ride和python3.8兼容不好,可以升级ride。

pip install -U https://github.com/robotframework/RIDE/archive/master.zip

升级后正常。


问题2、执行报错

command: pybot.bat -A C:\Users\ADMINI~1\AppData\Local\Temp\RIDEn5q1l5cf.d\argfile.txt --listener D:\Python38\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:50075:False F:\whty\whty

--->解决:

版本兼容问题,可以做如下设置解决。



问题3:执行报错

\xb2\xe2\xca\xd4\xd3\xc3\xc0\xfd2 | FAIL |

WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

--->解决:

因为webdriver没有放入path,如果是crome浏览器,需要先下载浏览器驱动geckodriver,将下载的geckodriver放到火狐浏览器的执行目录下

然后把这个地址加入环境变量path。或者把geckodriver放入python的安装目录根目录下也可。

geckodriver下载地址:https://github.com/mozilla/geckodriver/releases

下载geckodriver.exe 地址:https://github.com/mozilla/geckodriver/releases,根据自己系统选择相应的版本

下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:\Program Files\Mozilla Firefox),并在环境变量Path中添加路径:C:\Program Files\Mozilla Firefox;

再次运行就OK。


问题4:执行报错

[ ERROR ] Suite 'Whty' contains no tests matching name 'Whty.Test.\xb2\xe2\xca\xd4\xd3\xc3\xc0\xfd' in suite 'Whty.Test'.

Try --help for usage information.

---》解决:test  suite格式问题,可以换成robot格式即可。右键点击suite,选择change format



问题5:ride输出编码问题

ride的log输出中,出现编码错误

\xb2\xe2\xca\xd4\xd3\xc3\xc0\xfd2 | FAIL |

PermissionError: [WinError 5] \xbe\xdc\xbe\xf8\xb7\xc3\xce\xca\xa1\xa3

或者:\xb5\xbc\xc8\xeb\xb7\xd6\xc5\xe4

--->解决:Python 安装路径下修改 \Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py 文件,将 'SYSTEM': SYSTEM_ENCODING,改成 'SYSTEM': OUTPUT_ENCODING,如下图:

因为我用的python3和ride2,用了上面的方法并没有解决问题,后来我就重新装了ride的1.7.4.2版本,导致ride无法启动,于是又重新执行了官网的指令进行安装。pip install robotframework-ride==2.0b1。如果不带==2.0b1,安装的版本号是不同的,不知道是不是这个原因导致的。重新安装后就正常了。


问题6:图形验证码获取

测试过程中,需要测试一些验证码功能,需要涉及到图形识别,要先安装Tesseract-OCR,下载exe安装;

然后pip安装pillow,pip安装pytesseract(依赖pytesseract-OCR,所以要先安装)

安装完esseract-OCR要配置环境变量


还要修改如下图文件

修改文件

修改内容:tesseract_cmd = r'D:\Program Files (x86)\Tesseract-OCR\tesseract.exe'。注意要修改到exe级别

重启电脑



问题7:关于自定义包引用问题

1、在site-pakages下面新增NewLibrary文件夹,内部文件如下

其中_init_.py是必须的,可以为空文件。

然后ride引用

引用截图

不知为何,直接引用NewLibrary是不行的。还不知原因。

另外需要配置NewLibrary这个目录为环境变量

问题8:识别验证码,且带干扰线

可以参考如下链接解决,本人未尝试

https://blog.csdn.net/weixin_40267472/article/details/81384624

问题9:安装autoitlibrary报错command errored out with exit status1:

在用pip安装autoitlibrary的过程中,出现如下报错。

百度了后,说是需要用管理员身份执行,所以需要下载下来进行安装。

下载autoitlibrary、autoit

autoit下载地址:https://www.autoitscript.com/site/autoit/downloads/,版本最新是1.1

autoitlibrary下载地址(官网):http://www.softpedia.com/get/Programming/Components-Libraries/AutoItLibrary.shtml

autoitlibrary下载后解压到某个文件夹,然后用管理员身份执行命令行。我是放在D:\Python38\AutoItLibrary-1.1这个路径下。


安装过程中会有一些语法报错,需要修改一下autoitlibrary的代码,因为它支持的应该是python2

修改文件:D:\Python38\AutoItLibrary-1.1\setup.py

修改print为print():

修改“raise Exception, "Failed to run %s" % cmd”为“raise Exception("Failed to run %s" % cmd)”:

将exception和print的都加上括号

_init_.py文件里面的exception

logger.py文件里面的print

然后用管理员身份执行cmd

执行如下命令

因为autoitlibrary依赖autoit,所以还要下载autoit后安装,记住安装的时候要选择64bit的


可是安装后,ride里面导入autoitlibrary还是红色。mygod,路漫漫其修远兮。。。

继续查查查,先看报错

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "D:\Python38\lib\site-packages\AutoItLibrary\__init__.py", line 30, in <module>

    import Logger

ModuleNotFoundError: No module named 'Logger'

------提示找不到模块,查了下,python3的语法和python2是不同的,模块的调用也不同,找到一个说法说模块前面要加_,试试还是不对

>>> import AutoItLibrary

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "D:\Python38\lib\site-packages\AutoItLibrary\__init__.py", line 30, in <module>

    import _Logger

ModuleNotFoundError: No module named '_Logger'

然后继续找差异,百度上找到下面这个说法

其他语法差异参考链接:https://www.cnblogs.com/davidwang456/p/7493795.html

按照这个说法,改了一下D:\Python38\Lib\site-packages\AutoItLibrary\__init__.py文件的代码

将 import Logger和 import Counter

改为:

from . import Logger

from . import Counter

先在cmd里面执行python的importAutoItLibrary,试试,如下:

>>> import AutoItLibrary

>>>

没有报错,说明成功啦!!!哈哈哈哈哈开心。

可是,,,,去ride里面导入。omg,我 要死了

继续攻克。。。。

利用cmd(且需要用管理员身份进入否则会报0x80070005代码错误,注册失败)进入AutoItX3.dll文件所在路径,运行系统注销和系统注册命令:

c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /u AutoItX3.dll

c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /s AutoItX3.dll

终于成功,欢天喜地,喜极而泣,折腾了一个上午:


问题10:autoitlibrary中途突然部分关键字不可用

在某天安装了appiumlibrary后,发现和seleniumlibrary的关键字有冲突,于是删除了appiumlibrary

但是第二天autoitlibrary中的部分关键字也消失了,只能看到8-9个可用关键字。

--->解决:

F5查询AUTOITLIBRARY的关键字,只有几个了。缺少了很多关键字。为啥捏?

搞不懂。于是删除了autoitlibrary。然后重新导入,还是不行。

继续度娘啊。度娘也没找到好的办法。

于是又重新安装了一次autoitlibray,重新反注册和注册一次。就好了。

原因未知。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,841评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,415评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,904评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,051评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,055评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,255评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,729评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,377评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,517评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,420评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,467评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,144评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,735评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,812评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,029评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,528评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,126评论 2 341

推荐阅读更多精彩内容