公司使用的jira系统做为日常处理bug的系统,有一天同事突然给我转来100多个bug,说是和我已经fix的一个bug是相同的,让我把这些bug处理掉(fix掉)。我首先想到的是批处理,但是操作好久,似乎jira的批处理不好使 …
遂想到一个python脚本搞定。挂在电脑上,利用中午吃饭的时间,python脚本替我关闭了这些bug。
源码如下所示,虽然没有参考意义,但是这个思路还是值得记录下,便于下次使用。
import sys
import os
import shutil
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import urllib.request
import json
import _thread
buf = '''
原因分析:1
修改方案:1
自测结果:1
测试建议:1
'''
def test():
print(buf)
options = webdriver.ChromeOptions()
# options设置chrome位置
options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
# 配置到实例
driver = webdriver.Chrome(chrome_options=options)
driver.set_page_load_timeout(10) # 设置超时时间为5秒,如果5秒后网页还是没有加载完成则抛出异常
driver.get('http://jira.xxxxxx.com/projects/FANSPRO/issues')
driver.refresh()
driver.find_element_by_id("login-form-username").send_keys("xxxx")
driver.find_element_by_id("login-form-password").send_keys("xxxxx")
driver.find_element_by_id("login-form-submit").click()
time.sleep(1)
driver.find_element_by_xpath('//*[@id="action_id_4"]').click()
time.sleep(1)
driver.find_element_by_xpath('//*[@id="action_id_771"]').click() # FIX
time.sleep(1)
driver.find_element_by_id('customfield_10402').send_keys(buf)
time.sleep(1)
driver.find_element_by_id("issue-workflow-xxxxx-submit").click()
time.sleep(1)
driver.find_element_by_id("action_id_781").click() #Solve issue
time.sleep(1)
ActionChains(driver).send_keys(Keys.TAB).perform()
ActionChains(driver).send_keys(Keys.TAB).perform()
ActionChains(driver).send_keys(Keys.TAB).perform()
time.sleep(1)
ActionChains(driver).send_keys('1').perform()
time.sleep(1)
driver.find_element_by_id("issue-workflow-xxxxxx-submit").click()
driver.quit()
if __name__ == '__main__':
print(str(sys.argv[0]) + " enter")
i = 0
for num in range(1,9):
i = i +1
print("===================================================:%s" % (i))
test()
time.sleep(200)