# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
def jenk_autobuild():
wd = webdriver.Chrome()
wd.get("http://jenkins.goodiber.com/login?from=%2F") # 打开浏览器
wd.find_element_by_id("j_username").send_keys("littlelucky")
time.sleep(2) #等待3秒
wd.find_element_by_name("j_password").send_keys("test123456")
time.sleep(2)
wd.find_element_by_name("Submit").click() # 定位输入框并输入关键字
time.sleep(2) #等待3秒
wd.find_element_by_link_text("circle-mobile-7.0").click()
time.sleep(2)
wd.find_element_by_link_text("Build with Parameters").click()
time.sleep(2)
s1 = Select(wd.find_element_by_id("gitParameterSelect")) # 实例化Select
s1.select_by_value("origin/dev")
time.sleep(2)
version=wd.find_element_by_class_name("setting-input")
version.clear()
version.send_keys("7.4.0")
time.sleep(2)
buildid=wd.find_elements_by_class_name("setting-input")[1]
buildid.clear()
buildid.send_keys("190")
time.sleep(5)
el=wd.find_element_by_id("yui-gen1-button")
wd.execute_script("arguments[0].click();", el)
time.sleep(600)
wd.quit() #关闭浏览器
if __name__ =='__main__':
jenk_autobuild()
1.前置条件:
安装浏览器驱动chromedriver
2.元素定位:
打开chrome浏览器,在页面的空白处点击鼠标右键,选择‘检查’进入调试页面:
3.元素定位的方法参考:
selenium第三课(selenium八种定位页面元素方法)https://www.cnblogs.com/hustar0102/p/5965095.html
4.用例设计步骤:
1).打开浏览器
2).输入账号、密码,点击登陆
3).找到打包分支,并点击
4).选择带参数配置方式构建
5).选择构建分支、输入版本号、build号(实现时发现需要先清空默认配置)
6).点击构建(实现时发现,此按钮在页面底部,需要滑动页面找到它再点击)
5.脚本实现解释说明:
1)步骤1:
wd = webdriver.Chrome()
wd.get("http://jenkins.goodiber.com/login?from=%2F") # 打开浏览器
2)步骤2:
find_element_by_id("j_username").send_keys("littlelucky")
元素定位,有id时优先使用id定位,如账号输入框:
没有id时,使用name定位,如密码输入框、登入按钮:
find_element_by_name("j_password").send_keys("test123456")
find_element_by_name("Submit").click()
3)步骤3:找到打包分支
该分支的点击入口元素即没有id,没有name,看到它是一个含跳转链接的文案,使用by_link_text定位并点击
wd.find_element_by_link_text("文案内容").click()
4)步骤4:选择带参数配置方式构建
wd.find_element_by_link_text("Build with Parameters").click()
5)
5.1)下拉框的定位有点特殊,需要导入模块
from selenium.webdriver.support.ui import Select
然后根据先找到下拉框(通过.find_element_by_id定位),然后根据option的value值定位
s1 = Select(wd.find_element_by_id("gitParameterSelect")) # 实例化Select
s1.select_by_value("origin/dev")
5.2)定位版本号、build号输入框,先清空默认配置的版本号、build号,然后配置新的版本号信息:
version=wd.find_element_by_class_name("setting-input")
version.clear()
version.send_keys("7.4.0")
buildid=wd.find_elements_by_class_name("setting-input")[1]
buildid.clear()
buildid.send_keys("190")
6)找到构建按钮,并点击:
el=wd.find_element_by_id("yui-gen1-button")
wd.execute_script("arguments[0].click();", el)
最后:
因为打包需要几分钟,所以也可以sleep一下看看执行构建情况(不用也行,因为这是服务器打包,关了浏览器也会在后台运行,点击了构建就行了)
time.sleep(600)
wd.quit() #关闭浏览器