JUPITER+PYTHON+SELENIUM(UBUNTU)

前言

jupiter是一款开源软件。可以借助jupiter通过web进行编写python, nodejs等语言及调试。
说得有点官方了。通常我们更关心,它能用来做什么?
那我们就来说说场景吧。

  • 场景1
    作者所属的公司团队里,赶时髦也在推进测试的自动化。但团队里的测试人员的编码水平还有待提升。如何迅速地推进自动化测试在业务项目中落地是一个重大课题。
    首先我们明确下需求。需求是什么? 测试人员编写自动化测试代码!!!
    测试人员需要关心IDE安装? 不需要
    测试人员需要很高深的编码技巧? 只是自动化测试的话,够用就行! 如果测试代码写得比业务代码还复杂,那可能南辕北辙了。
    测试人员可能需要开发帮助定位问题或修改测试代码? 开发可能要跑到测试的工位上或测试抱着电脑找开发,想想都觉得low了。

  • 场景2
    像作者这种python半吊子,还停留在看懂借助手册才能写代码阶段(其实是伪/复制代码)的程序员。只是单纯地跑下程序片段观察效果的,用jupiter就刚好合适。

安装

# 安装pip3
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip

# 安装jupyter
sudo pip3 install jupyter

# 安装selenium相关
sudo pip3 install selenium
sudo pip3 install beautifulsoup4
sudo pip3 install -U kaggle-cli

# 安装driver
## 下载chrome driver
cd /tmp
wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip

## 下载firefox driver
cd /tmp
wget https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.18.0-linux64.tar.gz
## 解压复制driver 到/usr/local/bin中
cd /tmp
tar -zxvf geckodriver-v0.18.0-linux64.tar.gz
unzip chromedriver_linux64.zip
sudo mv geckodriver /usr/local/bin/
sudo mv chromedriver /usr/local/bin/

测试安装运行

  • 启程程序
# 启动jupyter,终端下输入命令
jupyter notebook
  • 在浏览器中选择 New 来创建 Python 3脚本。
    jupiter create python script

  • 调用selenium driver是否正常工作

# chrome

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.ffan.com")
driver.close()

# firefox
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.ffan.com")
driver.close()

jupiter driver test

实战

  • 从携程上抓取上海市人民广场附近所有3~5星级酒店的名称,地址,价格及评分
    思路:通过selenium翻页并提取想要抓取信息的节点并输出。在自动化测试时,抓取的信息跟预期的对比下就能出测试case了。
    jupiter ctrip data capture

总结

通过jupiter,测试人员可以不用搭建IDE,直接在web上就可以编写测试脚本代码。
通过git来管理测试脚本代码,因为是统一IDE环境,当有问题时开发可以通过git拉取测试脚本代码在本地机器上执行。
从而降低测试人员在推进测试自动化的技术成本,集中时间和精力到业务项目中去。
当然jupiter+python能做的还不只是这些。
有兴趣的朋友可以尝试用python写一些opencv,语音识别等Demo。

本文相关代码

https://github.com/cangyan/jupyter-scripts

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注