Linux 测试工程师使用的开源工具包 BashGems

思寒_seveniruby · October 10, 2018 · Last by 我问问 replied at October 10, 2018 · 1378 hits

这个小工具我用了十年,从阿里巴巴一直带到百度和其他的公司,所有身边用过的同事都觉得很有意思很实用。后来有一天突然想到为什么不封装一个测试工具包那。把测试工程师最难的一些过程自动化,比如appium、stf、jenkins、chromedriver等很多工具。也做一些环境检查的自动化封装。所以最近我又更新了下,加入了TesterHome社区的logo,正式开放出来给大家。

项目地址

https://github.com/testerhome/bashgems

目前只提供mac系统支持。windows下可以使用cygwin试用部分功能。

安装

eval "$(curl https://raw.githubusercontent.com/seveniruby/bashgems/master/bin/bashgems.sh);bashgems_install"

使用

安装后新开shell窗口就可以看到如下的提示

平稳安装appium

内置了一个命令可以平稳安装appium,请勿用于非法用途

proxy npm install -g appium

查询chromedriver

列举chromedriver的最近的版本和chrome的对应关系,以及国内外的下载地址备忘。

chromedriver_list

bash脚本命令行解析

pp函数是一个内置的参数解析函数,可以让你编写脚本的时候,省去解析参数的过程。他会根据你传入的参数列表,自动把参数解析为变量方便你调用。

  • 首先通过ARGS变量传递可能的参数列表
  • pp "$@" 会解析外部传递过来的参数
  • 根据ARGS变量里的变量名进行赋值
  • 传递一个install名字,pp函数会把父函数里面的参数demo --install jenkins或者 demo -install jenkins 或者 demo install jenkins参数解析为 install=jenkins
  • 如果参数是install,比如demo install 那么就会解析为install=true变量
  • 在自己的脚本中就可以直接用变量获取传入的参数值,从而省去了使用getopt/getopts进行循环参数解析了

例子如下

MacBook-Pro-2:~ seveniruby$ demo(){
> ARGS="install list" pp "$@"
> echo install=$install list=$list
> }
MacBook-Pro-2:~ seveniruby$ demo install jenkins
install=jenkins list=
MacBook-Pro-2:~ seveniruby$ demo list
install=jenkins list=true
MacBook-Pro-2:~ seveniruby$ demo -install jenkins
install=jenkins list=true
MacBook-Pro-2:~ seveniruby$ demo --install jenkins
install=jenkins list=true
MacBook-Pro-2:~ seveniruby$ type demo
demo is a function
demo ()
{
ARGS="install list" pp "$@";
echo install=$install list=$list
}

更多命令

更多命令可参考源代码,另外大家需要什么便捷的自动化步骤和一些痛点问题,也可以回帖补充,让这个开源项目组的同学给大家添加。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

没太看懂这个是干啥的,类似homebrew?

ZEY 回复

为命令行增加一些新的实用命令

十分好的东西。
比如 selenium,selenium grid,各种数据库安装,stf等等
测试开发也有测试配置苦手和点背的。

我的mac始终安装不上stf,试试这个看看

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up