python脚本批量添加Jira用户

最近刚刚上班,上级领导给了一个需求,让我搞一下jira批量添加用户的python脚本。

我们搭建好jira服务后,通过浏览器是可以访问Jira-web的,我们通过鼠标的点击和键盘的

敲打是可以手动为jira添加一定量的用户,现在我们需要脚本来驱动浏览器自动为我们

添加已经按照某种格式添加好的大量用户,这里面就会涉及浏览器的自动化测试框架Selenium

,它是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像我们真是客户端

人工操作一样,支持的浏览器包括IE(7,8,9,10,11),Firefox,Safari,Google Chrome,

Opera等,这个工具的主要功能包括:测试系统的兼容性-测试你的应用程序看是否能够很好的工作在不同浏览器和

操作系统之上。

> 框架底层使用JavaScript模拟真是用户对浏览器进行操作,测试脚本执行时,浏览器自动按照脚本代码做出点击,

输入,打开,验证等操作,就像真是用户所做的一样, 从终端用户的角度测试应用程序。

> * 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别

> * 使用简单,可使用Java、Python等多种语言编写用例脚本

Selenium的配置

1 安装Selenium模块:pip install Selenium

2 下载浏览器驱动,Selenium3.x调用浏览器必须有一个webdriver驱动文件

> Chrome驱动文件下载:点击下载chromedrivehttps://chromedriver.storage.googleapis.com/index.html?path=2.35/

> Firefox驱动文件下载: 点击下载geckodriverhttps://github.com/mozilla/geckodriver/releases

下载之后,解压到任意目录(路径不要有中文)

Selenium的调用简单demo

```python

from selenium import webdriver

# 如是chrome浏览器的驱动

driver = webdirver.Chrome("D:\driver\chromedriver.exe")

# 如果是firefox浏览器的驱动

driver = webdriver.Firefox(executable_path="D:\driver\geckodriver.exe")

# 如果谷歌和火狐浏览器驱动的目录加入了环境变量之中,可以直接下面写代码

# 谷歌浏览器驱动

driver = webdirver.Chrome()

# firefox浏览器驱动

driver = webdirver.Firefox()

```

实验环境:python3.7.6+jira7.12.0+mysql5.7

下面我给出jira批量添加用户的全部代码:

```python

"""自动创建Jira的学生账号"""

from selenium import webdriver

from time import  sleep

import csv

driver = webdriver.Chrome(r'D:\chromedirver\chromedriver.exe')

driver.get("http://192.168.1.129:8080/login.jsp") #jira的网址

data_set = r'D:\jirauser\userdata.csv'

sleep(5)

# 输入jira web端登陆的用户名和密码

driver.find_element_by_id('login-form-username').send_keys('zhaoyi')

driver.find_element_by_id('login-form-password').send_keys('123')

driver.find_element_by_id('login-form-submit').click()

sleep(3)

driver.find_element_by_id('admin_menu').click()

driver.find_element_by_id('admin_users_menu').click()

driver.find_element_by_id('login-form-authenticatePassword').send_keys('123')

driver.find_element_by_id('login-form-submit').click()

driver.implicitly_wait(3)

# 利用csv模块把csv文件中的所有用户的信息都读取到要给列表中

# 每个用户的信息是列表中一个元素,该元素也是一个拥有完整单个用户信息的列表

reader = csv.reader(open(data_set,encoding='utf-8'))

rows = [row for row in reader]

#print(rows)

for i in rows:

    print(i)

    driver.implicitly_wait(1)

    driver.find_element_by_id('create_user').click()

    driver.find_element_by_id('user-create-username').send_keys(i[0])

    driver.find_element_by_id('password').send_keys(i[1])

    driver.find_element_by_id('user-create-fullname').send_keys(i[2])

    driver.find_element_by_id('user-create-email').send_keys(i[3])

    driver.find_element_by_id('user-create-submit').click()

    sleep(10)

driver.close()

```


你可能感兴趣的:(python脚本批量添加Jira用户)