用 selenium IDE 做了几个网页自动运行的测试任务;
需要做成定时任务,每个任务分别在每天的固定时间运行。
一、环境配置
1、安装 nodejs
- exe文件安装
- windows环境设置“环境变量”
path 设置 nodejs 地址、npm 地址
- 安装包自带npm管理工具
npm镜像设置
阿里云 NPM 镜像:<https://npm.aliyun.com>
腾讯云 NPM 镜像:<https://mirrors.cloud.tencent.com/npm/>
华为云 NPM 镜像:<https://mirrors.huaweicloud.com/repository/npm>
2、安装 python
- exe文件安装
- windows环境设置环境变量
path 设置 python地址
- 安装包自带pip管理工具
3、安装selenium
pip install selenium
4、安装chromedriver
- npm 下载 chromedriver
- python 配置
从npm安装包中获取 chromedriver 的 exe 安装包复制到 python 文件夹下
- 浏览器设置
地址栏输入并回车:chrome://flags/#extensions-on-chrome-urls 。
选项由 Disabled 改为 Enabled 。
- windows环境设置环境变量
path 设置chromedriver.exe地址
5、安装selenium-side-runner
用来运行side文件(浏览器中通过selenium-ide生成的side文件转化成py文件之后就不需要selenium-side-runner了)
npm install -g selenium-side-runner
二、执行
1、py文件执行方法
python auto.py
2、side文件执行方法
- 指定要执行的文件和使用的浏览器的地址
selenium-side-runner C:\Downloads\auto.side -c "goog:chromeOptions.binary=’C:\Program Files\Google\Chrome\Application\chrome.exe’"
- (指定浏览器名称)
"browserName=chrome"
- 无界面运行chrome浏览器
selenium-side-runner -c "browserName=chrome goog:chromeOptions.binary='C:\Program Files\Google\Chrome' chromeOptions.args=[disable-infobars,no-sandbox,headless]" --base-url <http://xxx.xx.xx.xx> test.side
三、python 定时语法
1、用到定时schedule和时间time依赖
import schedule
import time
2、定义两个任务
def job1():
print("执行定时任务1...")
auto1()
print("已执行任务1...")
def job2():
print("执行定时任务2...")
auto2()
print("已执行任务2...")
3、每天定时执行
# 每天定时执行
schedule.every().day.at("12:00").do(job1)
schedule.every().day.at("14:00").do(job2)
# 或者每10分钟执行一次任务
# schedule.every(1).minutes.do(job1)
# 结束
while True:
schedule.run_pending()
time.sleep(1)