selenium自动化

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
import time,unittest,json,re,random
from read_data import Excel

excel = Excel(r"D:\测试一阶段\python\Demo\woniuboss\GUI\woniuboss.xls")

class WnBoos(unittest.TestCase):
    sleep1 = 2
    sleep2 = 4
    sleep3 = 6
    login_tag = False

    @classmethod
    def setUpClass(cls):
        cls.web = webdriver.Chrome()
        cls.web.get("http://192.168.7.19:8080/xxxxx/")
        cls.web.maximize_window()
        cls.web.implicitly_wait(15)

    # 登陆测试
    def test_01_login(self):
        self.web.find_element_by_name("userName").send_keys("WNCD000")
        self.web.find_element_by_name("userPass").send_keys("woniu123")
        self.web.find_element_by_name("checkcode").send_keys(Keys.CONTROL,"a")
        self.web.find_element_by_name("checkcode").send_keys("0000")
        self.web.find_element_by_xpath('//button[@onclick="login();"]').click()
        time.sleep(self.sleep2)
        self.assertEqual(self.web.current_url,"http://192.168.7.19:8080/WoniuBoss2.5/resource")
        WnBoos.login_tag = True

    # 解密
    @unittest.skipUnless(login_tag==False,"为false时跳过")    #login为False时候跳过
    def test_02_decrypt(self):
        self.web.find_element_by_id("btn-decrypt").click()
        self.web.find_element_by_name("secondPass").send_keys("woniu123")
        self.web.find_element_by_xpath('//button[@onclick="decrypt();"]').click()

    # 新增
    @unittest.skipUnless(login_tag==False,"为false时跳过")    #login为False时候跳过
    def test_03_add(self):
        data = excel.get_datas("培训资源-新增")[2]
        userinput = json.loads(data["user_input"])
        userchoice = json.loads(data["user_choice"])

        self.web.find_element_by_partial_link_text("培训资源").click()
        time.sleep(self.sleep1)
        self.web.find_element_by_xpath('//button[@onclick="validateAddCus();"]').click()
        for k in userinput:
            elem = self.web.find_element_by_name(k)
            elem.send_keys(Keys.CONTROL,"a")
            elem.send_keys(userinput[k])

        # Select(self.web.find_element_by_xpath(f'//form[@id="addCus"]//select[@name="cus.sex"]')).select_by_visible_text("女")
        for k in userchoice:
            xpath = f'//form[@id="addCus"]//select[@name="{k}"]'
            Select(self.web.find_element_by_xpath(xpath))\
                .select_by_visible_text(userchoice[k])
        self.web.find_element_by_id("addCusBtn").click()

        time.sleep(WnBoos.sleep1)
        result = self.web.find_element_by_css_selector("div.bootbox-body").text
        self.web.find_element_by_xpath('//button[@data-bb-handler="ok"]').click()
        self.assertEqual(result,"新增成功.")

    #废弃
    def test_04_abandon(self):
        self.web.find_element_by_partial_link_text("培训资源").click()
        time.sleep(self.sleep1)

        pattern = "显示第 1 到第 (\d+) 条记录,总共 \d+ 条记录"
        s = self.web.find_element_by_xpath('//span[@class="pagination-info"]').text
        m = re.match(pattern,s)
        size = m.group(1)
        size = int(size)-1
        # print(f'//input[@data-index="{random.randint(0,size)}"]')
        self.web.find_element_by_xpath(f'//input[@data-index="{random.randint(0,size)}"]').click()
        self.web.find_element_by_id("abandon").click()
        time.sleep(5)
        self.web.find_element_by_xpath('//button[@data-bb-handler="confirm"]').click()


    @classmethod
    def tearDownClass(cls):
        cls.web.find_element_by_link_text("注销").click()
        cls.web.quit()


if __name__ == '__main__':
    unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值