请注意: 本项目仅供交流学习自动化测试技术, 滥用造成的后果请自行承担!
本项目涵盖了网页自动化操作、网页监控、Cookie及Storage持久化存储、Signal信号处理、基本Http服务等技术.
项目结构简单, 适合Go语言初学者或自动化技术初学者.
- /global 公共组件目录
- config.go 配置文件工具
- response.go 响应工具
- /service Http服务目录
- mooc.go 慕课服务
- status.go 状态检测服务
- /webkit WebKit操作目录
- basic.go 基础操作
- init.go 初始化
- work.go 任务管理
- script.js 页面注入脚本
- /page 控制页面
- go.mod 项目依赖
- go.sum ~
- main.go 项目入口
docker run -d -p 80:80 -n auto-mooc skyezhang/auto-mooc:1.0.1
最后在浏览器输入 Docker IP (默认80端口), 将自动导航到控制页面
点击右侧Releases下载二进制文件, Windows需在CMD中启动, 其他系统可双击启动.
最后在浏览器输入localhost(默认80端口), 将自动导航到控制页面
# 拉取项目
git clone https://github.com/skye-z/auto-mooc.git auto-mooc
# 进入目录
cd auto-mooc
# 下载依赖
go mod download
# 启动项目
go run main.go
/login 登录账户/class/list 获取课程列表/class/select?id=课程id 选课/class/start 开始上课/class/stop 停止上课/status 查询状态/screenshot 任务截图在应用程序首次运行后, 应用会在所在目录下生成config.ini配置文件, 如果不了解配置含义请勿随意修改!!!!
配置文件中如需填入特殊字符, 请使用``包裹整个值
[basic]
; 是否已安装, 用于标定初始化状态
install=true
; 调试模式, 开启后将输出路由日志并关闭无头模式
debug=false
; 用户代理信息, 建议用自己常用浏览器的
user-agent=test
; 应用监听端口, 将在此端口上提供Http服务
port=80
; 应用工作空间, 应用所有资源所在的目录
workspace=/Users/root/Workspace/auto-mooc
[mooc]
; 选课编号
class=123456
; 是否已登录, 由应用自行判断后填充
login=false
; 慕课服务地址, 请已登录后跳转的域名地址为准
path=http://mooc.com
; 持久化存储位置, 提供Cookie和本地存储的持久化
storage=/Users/root/Workspace/auto-mooc/storage.db
[push]
; 启用推送
enable=false
; 推送地址(下面的是示例,只要符合标准的地址都可以)
url=`https://api2.pushdeer.com/message/push?pushkey={替换你自己的令牌}&text=`
这里提供三种编译方法.
第一种是编译本机环境的二进制文件: go build -ldflags '-s -w'
第二种则是交叉编译: CGO_ENABLED=0 GOOS=平台 GOARCH=架构 go build -ldflags '-s -w'
第三种是脚本编译: bash ./build.sh
Content type
Image
Digest
sha256:b7de6f450…
Size
196.1 MB
Last updated
over 2 years ago
docker pull skyezhang/auto-mooc:2.0.0