webUI自动化环境准备

webUI自动化环境准备

Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像用户在操作一样;我们通常所说的Selenium是对Seleninum的总称。

selenium核心组件

  • selenium webdriver client (目前主要使用,依赖于drivers)
  • selenium drivers(浏览器驱动,被webdriver client所依赖)
  • selenium IDE(入门录制工具)
  • selenium grid (可操作浏览器集群,也可操作app)

Selenium WebDriver

selenium webdriver 其实就是不同语言基于实现了W3C WebDriver协议从而达到能控制浏览器的代码库,它提供了简单的API接口使测试人员可以很方便的控制浏览器的各种行为;目前所支持的浏览器包括:Firefox、Chrome、IE、Edge、Opera、Safari。

运行机理:webdriver通过driver(浏览器驱动)将执行命令发送给浏览器;同样的浏览器在执行玩命令之后通过相同的通道将信息返回给webdriver。

整体就是一个C/S架构,我们的webdriver是作为客户端存在。

1、命令:pip install selenium -i <http://pypi.douban.com/simple> --trusted-host pypi.douban.com

2、下载对应chrome浏览器驱动:http://chromedriver.storage.googleapis.com/index.html

查看本地安装的chrome版本

下载相同版本的驱动

下载完成后解压压缩包,把chromedriver.exe驱动文件复制到,Python根目录下

二、通过python+selenium实现打开一个商城

复制代码
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get(url='<https://mall.jctesting.cn/pc/>')
time.sleep(3)
driver.quit()

options

复制代码
from selenium import webdriver
from time import sleep

'''
# 创建Chromeoptions对象
options=webdriver.ChromeOptions()
# 窗体最大化,速度比 driver.maximize_window() 快
options.add_argument('start-maximized')         #添加参数

# 无头模式:启动浏览器进程,但不会显示出来
# options.add_argument('--headless')

# 去掉警告
# options.add_argument('disable-infobars')    #这是老版本的Chrome浏览器采用的去掉警告行驶
# 新版本的去掉警告(70以上版本)
options.add_experimental_option('useAutomationExtension',False)       #去掉开发者警告
options.add_experimental_option('excludeSwitches', ['enable-automation'])      #去掉黄条

# 创建Chrome对象
driver=webdriver.Chrome(options=options)
driver.implicitly_wait(10)
# driver.maximize_window()

sleep(5)

driver.get('<https://www.baidu.com/>')
driver.find_element_by_id('kw').send_keys('虚竹')
driver.find_element_by_id('su').click()
sleep(3)
# print(driver.title)
driver.quit()

三、一些依赖包的安装

pip install pyscreenshot # 用于屏幕截图

安装pykeyboard模块

pip install Pillow-PIL

pip install pywin32

pip install pyUserinput

pip install pykeyboard

相关推荐
躺不平的理查德7 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明8 小时前
centos7无法安装tcpreplay
linux·运维
志栋智能8 小时前
安全超自动化:构建全方位安全可观测性的基础
网络·安全·自动化
anxiao_m8 小时前
园区数字孪生怎么搭建?主流方案与服务商深度对比
大数据·运维·人工智能
时空无限9 小时前
ubuntu dpkg -l 输出第一列解释
linux·运维·ubuntu
Splashtop高性能远程控制软件9 小时前
AI 落地的连接基建评估:消费品行业远程连接方案的四个技术维度(性能 / 精度 / 安全 / 统一管理)
运维·人工智能·安全·远程工作·splashtop
ITyunwei098710 小时前
技术管理者视角:AI 重构 ITSM 的四个工程化落点
运维·人工智能
梦想的旅途211 小时前
企业微信API如何发送消息到客户群?群机器人限制说明
机器人·自动化·企业微信·rpa
666_qq_4038823312 小时前
Tabstack 浏览器自动化实战应用指南
运维·自动化
明志数科14 小时前
宇树科技IPO背后的产业逻辑:人形机器人从“讲故事“到“交数据“
运维·服务器·数据库