Robot Framework + Python3入坑整理

Robot Framework 入坑整理

低级错误整理

1.pycharm setting 显示已装依赖包,并且正确引包,但执行robot文件仍提示缺少包
	原因:pycharm装的依赖包非python目录,特定权限环境下正确识别
解决方案:打开cmd 使用pip install 重新安装依赖包

2.执行报错:connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1051)'))'
	原因:目标地址https证书失效
解决方案:忽略报错或将目标地址参数https://xxxx改为http://xxxx

3.执行报错Expected even number of keys and values, got 1 
	原因:参数传值有误,如
	    ${header}  create dictionary  Content-Type:application/json
	解决方案:
		正确写法
	    ${header}  create dictionary  Content-Type=application/json
	    或查看report.html 根据具体步骤报错修改代码

疑难整理

1.执行click keyword时难以找到界面元素
	解决方案:
	    run keyword if  ${Element}=='id'    Execute Javascript  document.getElementById('${ElementValue}').click()
		run keyword if  ${Element}=='class'     Execute Javascript  document.getElementsByClassName('${ElementValue}')['${list_num}'].click()
	 	run keyword if  ${Element}=='selector'  Execute Javascript  document.querySelector('${ElementValue}').click()

2. run keyword if 在一个条件下接多个执行语句
	解决方案:
	使用 run keywords  
	示例:
    | `Run Keywords` | `Initialize database` | db1 | AND | `Start servers` | server1 | server2 |
    | `Run Keywords` | `Initialize database` | ${DB NAME} | AND | `Start servers` | @{SERVERS} | AND | `Clear logs` |
    | `Run Keywords` | ${KW} | AND | @{KW WITH ARGS} |
    务必使用大写的AND分割多个keyword

3.使用keyword定位class复合类报错
	解决方案:
	不使用复合类,如class=el-select-dropdown__item hover,使用el-select-dropdown__item定位即可,因前者就可确定唯一性,若仍存在多个同名,则使用el-select-dropdown__item[N]

4.使用choose file关键字,报错InvalidElementStateException: Message: invalid element state
	解决方案:
	XPATH定位错误,choose file定位XPath必须是type=file的

5.悬停展示的菜单定位
	解决方案:
	class或者其他方式直接定位点击隐藏的位置

你可能感兴趣的:(经验教训,robot,framework)