zoukankan      html  css  js  c++  java
  • selenium之使用unittest测试框架

     1 # 测试角色权限管理页面功能
     2 from selenium import webdriver
     3 from login_page import LoginPage
     4 import random, time, unittest
     5 
     6 
     7 class TestRole(unittest.TestCase):
     8     def setUp(self):
     9         self.login_obj = LoginPage()
    10         self.driver = webdriver.Chrome()
    11         driver = self.driver
    12         login_obj = self.login_obj
    13         time.sleep(2)
    14         driver = login_obj.login(driver)  # 登录
    15         driver.find_element_by_id('4').click()  # 进入监控管理
    16         time.sleep(1)
    17         # 进入角色管理
    18         driver.find_element_by_xpath('//a[@url="manager/role/role_list.do"]').click()
    19         time.sleep(2)
    20 
    21         # 定义变量
    22         random_num_to_str = str(random.randint(1000, 9999))  # 随机数,保证不重复
    23         self.role_name = 'role_' + random_num_to_str  # 角色名,限制10个字符
    24         self.spec_context = 'spec_' + random_num_to_str  # 备注信息
    25         self.modify_spec_context = self.spec_context + '_modify'  # 修改后的备注信息
    26 
    27     def tearDown(self):
    28         '''关闭浏览器'''
    29         self.login_obj.quit()
    30 
    31     def test_role(self):
    32         driver = self.driver
    33 
    34         def create_role():
    35             '''新增角色'''
    36             driver.find_element_by_id('addRow').click()
    37             driver.find_element_by_id('role_name').send_keys(self.role_name)
    38             driver.find_element_by_id('spec').send_keys(self.spec_context)
    39             time.sleep(3)
    40             driver.find_element_by_id('userSave').click()
    41             time.sleep(3)
    42 
    43         def query_role_by_name():
    44             '''查询角色'''
    45             driver.find_element_by_id('searchKey').send_keys(self.role_name)
    46             driver.find_element_by_id('search').click()
    47             time.sleep(3)
    48 
    49         def edit_role():
    50             '''编辑角色'''
    51             driver.find_element_by_xpath("//button[@title='编辑']").click()  # 查找title='编辑'的button
    52             driver.find_element_by_id('spec').clear()
    53             driver.find_element_by_id('spec').send_keys(self.modify_spec_context)
    54             time.sleep(2)
    55             driver.find_element_by_id('userSave').click()
    56             time.sleep(3)
    57 
    58         def bind_menu():
    59             '''菜单绑定'''
    60             driver.find_element_by_xpath("//a[@title='菜单绑定']").click()
    61             driver.find_element_by_xpath("//div[@class='checkBoxUp']/div[1]/i").click()  # 全选菜单
    62             time.sleep(3)
    63             driver.find_element_by_id('userSave').click()
    64             time.sleep(3)
    65 
    66         def del_role():
    67             '''删除角色'''
    68             driver.find_element_by_xpath("//a[@title='删除']").click()
    69             time.sleep(1)
    70             driver.find_element_by_class_name("aui_state_highlight").click()
    71             time.sleep(3)
    72 
    73         create_role()
    74         query_role_by_name()
    75         edit_role()
    76         bind_menu()
    77         del_role()
    78 
    79 
    80 if __name__ == '__main__':
    81     '''自动执行以'test'开头的测试方法'''
    82     unittest.main()

     到这里完成了一条完整的测试用例,但如果有多条测试用例需要一起执行,后续说明。

  • 相关阅读:
    NoSQL生态系统——hash分片和范围分片两种分片
    NoSQL生态系统——事务机制,行锁,LSM,缓存多次写操作,RWN
    W5500 keep-alive的用途及使用
    APUE学习总结
    Web Socket rfc6455 握 (C++)
    java.nio分析软件包(三)---Charset理解力
    比量iOS6/iOS7, 3.5inch/4.0inch
    【从翻译mos文章】rac数据库,HC_<SID>.dat其他文件Oracle_Home用例下。
    Type mismatch: cannot convert from Enumeration<String> to Enumeration<Object>
    c++宏源证券编程
  • 原文地址:https://www.cnblogs.com/gongxr/p/7291812.html
Copyright © 2011-2022 走看看