一、基础环境准备

1.Chrome + Chrome Driver

https://www.cnblogs.com/TSmagic/p/15671533.html(此篇文章已经介绍)

2.Selenium + Python

pip install selenium
pip show selenium

Python环境安装就不多做介绍啦!

3.Jenkins

https://www.cnblogs.com/TSmagic/p/15080407.html(此篇文章已经介绍)

4.测试代码

# coding=utf-8

# lm-ui—test—demo-博客园
from selenium import webdriver
import time
import unittest class daTestCase(unittest.TestCase):
def setUp(self):
global driver
chromeOptions = webdriver.ChromeOptions() chromeOptions.add_argument('--headless') #浏览器无窗口加载
chromeOptions.add_argument('--disable-gpu') #不开启GPU加速 """
解决报错:
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
"""
chromeOptions.add_argument('--disable-dev-shm-usage') #禁止
chromeOptions.add_argument('--no-sandbox')#以根用户打身份运行Chrome,使用-no-sandbox标记重新运行Chrome #其它设置(可选):
chromeOptions.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chromeOptions.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度 #创建driver对象
#chrome_options=chromeOptions加载设置
#executable_path="/usr/bin/chromedriver"指定webdriver路径(可选)
driver = webdriver.Chrome(chrome_options=chromeOptions,executable_path="/usr/bin/chromedriver")
print(u"加载驱动完成..")
driver.get("你的测试地址")
print(u"加载页面完成..")
time.sleep(2)
#self.driver.maximize_window() # 浏览器全屏显示 def test_login1(self):
global driver
driver.find_element_by_xpath("//input[@placeholder='请输入账号']").send_keys("daui")
driver.find_element_by_xpath("//input[@placeholder='请输入密码']").send_keys("Qwe123456")
driver.find_element_by_xpath("//*[@id=\"app\"]/div/div[5]/div/div/div/div[6]/button").click()
#self.driver.save_screenshot('D:/1.png') # 截图
print(u"case1:正确账号密码登录成功") def test_login2(self):
global driver
driver.find_element_by_xpath("//input[@placeholder='请输入账号']").send_keys("111st")
driver.find_element_by_xpath("//input[@placeholder='请输入密码']").send_keys("Qwe123456")
driver.find_element_by_xpath("//*[@id=\"app\"]/div/div[5]/div/div/div/div[6]/button").click()
#self.driver.save_screenshot('D:/2.png') # 截图
print(u"case2:账号错误登录失败") def test_login3(self):
global driver
driver.find_element_by_xpath("//input[@placeholder='请输入账号']").send_keys("daui")
driver.find_element_by_xpath("//input[@placeholder='请输入密码']").send_keys("1qwe123")
driver.find_element_by_xpath("//*[@id=\"app\"]/div/div[5]/div/div/div/div[6]/button").click()
#self.driver.save_screenshot('D:/3.png') # 截图
print(u"case3:密码错误登录失败") def tearDown(self):
global driver
print(u'用例执行完成..')
print(u"")
driver.quit() # 退出浏览器 if __name__ == '__main__':
unittest.main()

  

5.运行效果

1.png

2.png

to be continued...

Centos7.x 使用 selenium + python + jenkins 做UI自动化的更多相关文章

  1. Selenium+Python+jenkins搭建web自动化测测试框架

    python-3.6.2 chrome 59.0.3071.115 chromedriver 2.9 安装python https://www.python.org/downloads/  (Wind ...

  2. 使用appium+python做UI自动化的demo

    使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...

  3. 小心!做 UI 自动化一定要跨过这些坑

    一 .引子 UI自动化,在移动互联网时代的今天,一直都是在各大测试社区最为火爆的一个TOPIC.甚至在测试同行面前一提起自动化,大家就会自然而然的问:“恩,你们是用的什么框架?appium?还是rob ...

  4. 如何做ui自动化---步骤详解

    第一步: 得到功能测试的常规用例,查看是否可以进行自动化,要明确,自动化不是为了自动化而自动化,自动化是节省人力,主要做回归测试,如果变动性特别大,不建议做自动化,具体可查看其它文章“什么适合做自动化 ...

  5. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  6. 如何使用linux+xvfb+python+rfs+firefox+jenkins实现UI自动化

    首先说一下背景,在项目中使用windows执行机进行rfs脚本运行时,遇到两个问题: 1.Jenkins的多个slave节点和master的连接通过windows插件去建立,如果出现slave断连,无 ...

  7. selenium做UI自动化时,模拟鼠标各种操作的ActionChains的用法

    1.selenium做自动化的时候,需要模拟鼠标进行单击.双击.右键.拖拽等操作,selenium提供了ActionChains类来进行处理. 2.执行原理:当你调用ActionChains的方法时, ...

  8. python appium app ui 自动化

    1.下载Android-SDK.夜神安卓模拟器.Appium.adb命令执行包并配置环境变量 2.打开夜神 3.打开Appium进行配置,配置如下 4.启动命令,到夜神bin目录下执行 adb con ...

  9. UI自动化测试之Jenkins配置

    前一段时间帮助团队搭建了UI自动化环境,这里将Jenkins环境的一些配置分享给大家. 背景: 团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化 ...

  10. selenium + python + firefox 测试环境的搭建与配置

    对于做UI自动化,如果是纯编写一段自动化测试程序,那么后续的维护成本会较高.这种情况下,借助 selenium 这款自动化系测试工具,辅助于自己编写部分脚本,将是个不错的选择.selenium 本身支 ...

随机推荐

  1. apt-get install 出现could not open lock file /var/lib/dpkg/lock错误问题

    apt-get install 经常出现 could not open lock file /var/lib/dpkg/lock -open 错误问题 一种解决办法 1.切换到root用户 su ~ ...

  2. 第3章---数据探索(python数据挖掘)

    1.缺失值分析及箱型图 数据:catering_sale.xls(餐饮日销额数) 缺失值使用函数:describe()函数,能算出数据集的八个统计量 import pandas as pd cater ...

  3. pip安装报错 cannot uninstall a distutils installed project

    sudo pip install --ignore-installed xxx 在安装jupyter notebook的时候,遇到了这个问题,于是上网搜索,搜到了靠谱答案github解决方案 sudo ...

  4. 转发:基于Lerna打造多包管理最佳实践之道

    最近在看vue-cli的源码部分,注意到这一个仓库下维护了多个package,很好奇他是如何在一个repo中管理这些package的. 我们组现在也在使用组件库的方式维护项目间共用的业务代码.有两个组 ...

  5. git 拉取远端别的分支的代码,并创建本地分支

    创建本地分支 new_dev, 并且拉取远端new_dev的代码到本地new_devgit checkout -b new_dev origin/new_dev

  6. 2020.11.24 typeScript命名空间

    命名空间:定义了标识符的可见范围,一个标识符可以在多个命名空间中定义,它在不同命名空间的含义是互不相干的.在一个新的命名空间可以定义任何新的标识符,它不会与已有的任何标识符发生冲突. 使用: 这个时候 ...

  7. python使用zipfile压缩文件,包括空目录

    zipfile压缩文件.包括空目录 # !/usr/bin/python import os import zipfile def zipdir(dirPath=None, zipFilePath=N ...

  8. 自己动手从零写桌面操作系统GrapeOS系列教程——11.MBR介绍

    学习操作系统原理最好的方法是自己写一个简单的操作系统. 前面我们介绍过电脑的启动过程: 上电->BIOS->MBR(boot)->loader->kernel->交互界面 ...

  9. 对Javaweb的相关练习之利用.jsp文件和.java文件将输入的数据存储到指定的数据库中

    练习分析 import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servlet.http.* ...

  10. 说来惭愧,关于Session的某块知识的学习,感觉涨了知识

    Session的查漏补缺 今天在写界面的时候,想要利用servlet和jsp页面实现界面的跳转,之前实现这些内容的时候,我是没有用到session来实现这个功能的. 直到今天,想要将第一个界面的数据隔 ...