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

思寒_seveniruby · 2018年10月10日 · 最后由 我问问 回复于 2018年10月10日 · 2497 次阅读

这个小工具我用了十年,从阿里巴巴一直带到百度和其他的公司,所有身边用过的同事都觉得很有意思很实用。后来有一天突然想到为什么不封装一个测试工具包那。把测试工程师最难的一些过程自动化,比如 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?

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

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

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册