gauge自动化框架踩坑(一):安装
1|0一. 为什么要用gauge
对于单接口自动化测试,python中的requests+ddt+excel+unittest是一个不错的选择,对于描述多接口组合的场景,这个框架显得有点问题了。首先,如果将多个接口用excel中的合并单元格表示,也不是不可以,但是excel管理数据有个问题,必须打开excel才看得到一个场景中进行了哪些步骤,调用了哪些接口。为了更好的描述场景,借鉴了gague这一轻量级的跨平台自动化框架,它最大的好处是采用了BDD(行为驱动开发)方式,一个场景中每一步的行为都用markdown来描述,清晰直观,同时支持多系统(windows/macOS/Linux)、多语言(Java、python、js、Ruby),但比较遗憾的是它的插件只支持两种IDE:Visual Studio Code和IntelliJ,习惯用pycharm的童鞋可能要换个IDE了。另外,网上关于gague的文章少之又少,即使找到了一些,也是对于官网用法的翻译,而官网所举的例子也是一带而过,真实项目中做起来,也会遇到很多问题。现在将使用gauge过程中遇到的问题,做一个简单的汇总,对于官方文档中描述比较简略的地方,做一个延伸
2|0二. 安装
关于gauge的安装,看虫师这篇《初识gauge自动化测试框架》,就可以迅速的构建并运行一个demo。但是对于"gauge init python",相当于初始化,它会生成一些gauge的项目模板,这个过程有两个过程:1. 查看是否安装了python语言插件,如果没有安装,则先安装, 2. 初始化引入模板。这个语言插件
怎么查看这个插件有没有安装,可以使用"gauge -v"命令,查看gauge的版本和插件版本:
这个插件是装在哪个位置?通过Everything简单的搜索,可以看到它的位置
使用notepad++,查看start.bat,可以看到,当GAUGE_PYTHON_COMMAND为空时,它会设置GAUGE_PYTHON_COMMAND为python,然后使用python命令检查是否安装了getgauge这个第三方库,最好使用python执行 python -u start.py
也就是说,这个python不是gauge的python插件自带的,它还是引用我们系统环境变量里的python,如果你的环境变量只配了一个python3.7.3,那它直接调用的就是python3.7.3。当系统中存在多个python版本的环境变量时,就要注意了。当时由于我的环境变量配置了多个python版本,python3.3,python3.4, pythom3.7,由于python3.3的环境变量在最前面,当我初始化后,把python3.3卸载了,没有及时清除环境变量,就发生了如下的乱码
后来及时清除了python3.3的环境变量,配置了其他版本的,就可以正常运行了
这里还有一个误区是,当时官网给出的安装模板的方式是 gauge init --templates,当时以为和gauge init python是不同的,没想到亲自实践了一下,发现所谓的templates,就是语言类型
然后告诉你,按照gauge init <template_name>,也就是gauge init <template_name>的方式去安装
3|0参考文章
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/11106564.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-06-29 类和对象
2018-06-29 Pycharm如何打断点
2018-06-29 元素操作(二)