예제 #1
0
    def test_add_account_Ok(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号,点击"确定"
        前置条件:已输入合法的姓名,合法账号,合法手机号,角色
        步骤:1. 点击"确定"
        预期:1. 当成功提交后,关闭弹窗,并刷新角色角色列表,新增账号出现在列表中(出现在最后?)
    
        '''
        #点击新增按钮
        Sys_user_manage_page.add_btn_click()
        #判断是否存在新增用户弹出框

        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择用户角色

        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        #判断用户列表
        assert Sys_user_manage_page.check_user_by_name(username=user_name)
예제 #2
0
 def test_add_role_ok_without_info(self,Sys_role_manage_page):    
     '''
     测试用例编号:
     测试用例标题:验证新增功能
     前置条件:用户登录成功,已填写角色名称(10个字符),已选择菜单权限
     步骤:    1. 说明为空白点击确定
     预期: 
     1. 角色创建成功,角色展示的说明栏为空
    
    '''
     #点击新增按钮
     Sys_role_manage_page.add_click()    
     #判断新增角色对话框
     assert Sys_role_manage_page.is_text_in_element(locator=Sys_role_manage_page.rcDialogTitle,
                                              text='增加角色') == True   
     
     #填写角色名称
     role_name = 'cmiotX'+ getString(4)
     Sys_role_manage_page.input_role_name(text = role_name)     
     #添加菜单权限(系统设置)
     Sys_role_manage_page.select_role_authority(name = '系统设置')
     #不填写说明栏
     
     #点击确定
     Sys_role_manage_page.determin_click()       
     
     #显示50条数据
     Sys_role_manage_page.select_page_split(index = 3)
     
     #判断新增角色是否在列表中    
     assert Sys_role_manage_page.check_table_by_value(expect_value = role_name, col_name = '角色')
예제 #3
0
    def test_add_account_inputrelname_max_lenth(self, realname, expected,
                                                Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        "
        1. 输入姓名:9个汉字
        2. 输入姓名:10个汉字
        3. 输入姓名:11个汉字
        4. 输入姓名:输入9个英文字符
        5. 输入姓名:输入10个英文字符
        6. 输入姓名:输入11个英文字符"

        预期:
        "1. 可以输入
        2. 可以输入
        3. 只能输入到第10个汉字,无法输入第11个汉字
        4. 可以输入
        5. 可以输入
        6. 只能输入到第10个英文字符,无法输入第11个英文字符"    
        
    '''
        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = realname
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '17309013038'

        #期望
        test_expected = expected

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择测试角色
        Sys_user_manage_page.add_role('测试')

        #不点击保存
        Sys_user_manage_page.add_user_save()

        time.sleep(3)
        #断言
        assert Sys_user_manage_page.get_form_explain() == test_expected

        #         点击取消按钮
        if test_expected != '':
            Sys_user_manage_page.add_cancel_click()
예제 #4
0
    def test_add_account_input_error_iphone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
    
        1. 手机分别输入特殊字符_,~,@,-

 
        预期:
        1. 失去焦点后,文本框提示'请输入手机号'
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = 'test' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '@~-'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.add_cancel_click()
예제 #5
0
    def test_add_account_input_error_account(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:      
        1. 账号分别输入特殊字符_,~,@


 
        预期:    
        1.失去焦点后,文本框提示'账号只允许使用数字、字母、下划线'
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为特殊字符
        user_name = 'test' + getString(num=4)
        #账号为特殊字符
        Account = '_@~' + getString(num=4)
        #手机号码为正常
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '账号只允许使用数字、字母、下划线'

        #新增点击取消
        Sys_user_manage_page.add_cancel_click()
예제 #6
0
    def test_add_account_select_role_more(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面选择角色测试
        前置条件:打开编辑账号信息界面
        步骤:
        1. 展示角色列表
        2. 选择一个角色
        3. 选择多个角色

 
        预期:
        1. 展示角色列表
        2. 可以选择一个角色
        3. 可以选择多个角色
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为空
        user_name = 'test' + getString(num=4)
        #输入账号
        Account = 'Account' + getString(num=4)
        #手机号码
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()
예제 #7
0
    def test_update_account_error_noRole(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面,判断角色是否为空
        前置条件:打开编辑账号信息界面
        步骤:"
        1. 输入姓名
        2. 输入账号
        3. 输入手机号
        4. 不勾选角色,点击确定"
 
        预期:"1. 当未选角色时,复选框后红字提示“请选择角色”
        '''
        already_selected_role = Sys_user_manage_page.get_User_table_value_by_key(
            key='角色', index=1)

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #不选择用户角色,输入为空
        for role in already_selected_role:
            Sys_user_manage_page.add_role(name=role)

        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请选择角色'

        #点击取消
        Sys_user_manage_page.update_cancel_click()
예제 #8
0
    def test_add_account_error_noPhone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断手机号是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入姓名
        2. 输入账号
        3. 选择角色
        4. 不输入手机,点击确定"

 
        预期:"1. 当手机号为空时,文本框后红字”请输入手机号“
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        #手机号为空
        iphone = ''

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择角色
        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.add_cancel_click()
예제 #9
0
    def test_update_account_input_error_relname(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        1. 姓名分别输入特殊字符_,~,@
    

 
        预期:
        1.失去焦点后,文本框提示'不允许使用特殊字符'
        '''

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息

        #姓名为特殊字符
        user_name = '_~@' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #使用默认角色
        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '不允许使用特殊字符'

        #编辑点击取消
        Sys_user_manage_page.update_cancel_click()
예제 #10
0
    def test_add_account_error_noRole(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断角色是否为空
        前置条件:打开编辑账号信息界面
        步骤:"
        1. 输入姓名
        2. 输入账号
        3. 输入手机号
        4. 不勾选角色,点击确定"
 
        预期:"1. 当未选角色时,复选框后红字提示“请选择角色”
        '''
        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #不选择用户角色,输入为空
        Sys_user_manage_page.add_role(name='#############')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请选择角色'

        #点击取消
        Sys_user_manage_page.add_cancel_click()
예제 #11
0
    def test_add_account_error_noRealName(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断姓名是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入账号
        2. 输入手机
        3. 选择角色
        4. 不输入姓名,点击确定

 
        预期:"1. 当账号为空时,文本框后红字“请填写账号名称”
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为空
        user_name = ''
        #输入账号
        Account = 'Account' + getString(num=4)
        #手机号码
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择角色
        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入姓名'

        #点击取消
        Sys_user_manage_page.add_cancel_click()
예제 #12
0
class Test_user_add_update_query(object):
    @pytest.mark.run(order=1)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_Ok(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号,点击"确定"
        前置条件:已输入合法的姓名,合法账号,合法手机号,角色
        步骤:1. 点击"确定"
        预期:1. 当成功提交后,关闭弹窗,并刷新角色角色列表,新增账号出现在列表中(出现在最后?)
    
        '''
        #点击新增按钮
        Sys_user_manage_page.add_btn_click()
        #判断是否存在新增用户弹出框

        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择用户角色

        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        #判断用户列表
        assert Sys_user_manage_page.check_user_by_name(username=user_name)

    @pytest.mark.run(order=2)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_error_noRole(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断角色是否为空
        前置条件:打开编辑账号信息界面
        步骤:"
        1. 输入姓名
        2. 输入账号
        3. 输入手机号
        4. 不勾选角色,点击确定"
 
        预期:"1. 当未选角色时,复选框后红字提示“请选择角色”
        '''
        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #不选择用户角色,输入为空
        Sys_user_manage_page.add_role(name='#############')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请选择角色'

        #点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=3)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_error_noPhone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断手机号是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入姓名
        2. 输入账号
        3. 选择角色
        4. 不输入手机,点击确定"

 
        预期:"1. 当手机号为空时,文本框后红字”请输入手机号“
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        #手机号为空
        iphone = ''

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择角色
        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=4)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_error_noAccount(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断账号是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入姓名
        2. 输入手机
        3. 选择角色
        4. 不输入账号,点击确定

 
        预期:"1. 当账号为空时,文本框后红字“请填写账号名称”
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        #账号为空
        Account = ''
        #手机号码
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择角色
        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入账号'

        #点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=5)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_error_noRealName(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面,判断姓名是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入账号
        2. 输入手机
        3. 选择角色
        4. 不输入姓名,点击确定

 
        预期:"1. 当账号为空时,文本框后红字“请填写账号名称”
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为空
        user_name = ''
        #输入账号
        Account = 'Account' + getString(num=4)
        #手机号码
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择角色
        Sys_user_manage_page.add_role(name='测试')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入姓名'

        #点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=6)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_select_role_more(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面选择角色测试
        前置条件:打开编辑账号信息界面
        步骤:
        1. 展示角色列表
        2. 选择一个角色
        3. 选择多个角色

 
        预期:
        1. 展示角色列表
        2. 可以选择一个角色
        3. 可以选择多个角色
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为空
        user_name = 'test' + getString(num=4)
        #输入账号
        Account = 'Account' + getString(num=4)
        #手机号码
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

    @pytest.mark.run(order=7)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_input_error_relname(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        1. 姓名分别输入特殊字符_,~,@
    

 
        预期:
        1.失去焦点后,文本框提示'不允许使用特殊字符'
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为特殊字符
        user_name = '_~@' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '不允许使用特殊字符'

        #新增点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=8)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_input_error_account(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:      
        1. 账号分别输入特殊字符_,~,@


 
        预期:    
        1.失去焦点后,文本框提示'账号只允许使用数字、字母、下划线'
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为特殊字符
        user_name = 'test' + getString(num=4)
        #账号为特殊字符
        Account = '_@~' + getString(num=4)
        #手机号码为正常
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '账号只允许使用数字、字母、下划线'

        #新增点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=9)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    def test_add_account_input_error_iphone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
    
        1. 手机分别输入特殊字符_,~,@,-

 
        预期:
        1. 失去焦点后,文本框提示'请输入手机号'
        '''

        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = 'test' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '@~-'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择第一个角色
        Sys_user_manage_page.add_role(name='测试')

        #选择第二个角色
        Sys_user_manage_page.add_role(name='开发')

        #点击保存按钮
        Sys_user_manage_page.add_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=10)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    @pytest.mark.parametrize("realname,expected",
                             [('中移物联网中国移动', ''), ('中移物联网中国移动一', ''),
                              ('中移物联网中国移动一二', '姓名最大长度为10'), ('cmiottest', ''),
                              ('cmiottestY', ''),
                              ('cmiottestYY', '姓名最大长度为10')])
    def test_add_account_inputrelname_max_lenth(self, realname, expected,
                                                Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        "
        1. 输入姓名:9个汉字
        2. 输入姓名:10个汉字
        3. 输入姓名:11个汉字
        4. 输入姓名:输入9个英文字符
        5. 输入姓名:输入10个英文字符
        6. 输入姓名:输入11个英文字符"

        预期:
        "1. 可以输入
        2. 可以输入
        3. 只能输入到第10个汉字,无法输入第11个汉字
        4. 可以输入
        5. 可以输入
        6. 只能输入到第10个英文字符,无法输入第11个英文字符"    
        
    '''
        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = realname
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '17309013038'

        #期望
        test_expected = expected

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择测试角色
        Sys_user_manage_page.add_role('测试')

        #不点击保存
        Sys_user_manage_page.add_user_save()

        time.sleep(3)
        #断言
        assert Sys_user_manage_page.get_form_explain() == test_expected

        #         点击取消按钮
        if test_expected != '':
            Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=11)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('新增用户')
    @pytest.mark.parametrize("account,expected",
                             [('123456789' + getString(10), ''),
                              ('123456789' + getString(11), ''),
                              ('123456789' + getString(12), '账号最大长度为20'),
                              ('cmiottest' + getString(10), ''),
                              ('cmiottest' + getString(11), ''),
                              ('cmiottest' + getString(12), '账号最大长度为20')])
    def test_add_account_inputaccount_max_lenth(self, account, expected,
                                                Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        "
        1. 输入账号:19个数字+字符
        2. 输入账号:20个数字+字符
        3. 输入账号:21个数字+字符
        4. 输入账号:输入19个英文字符
        5. 输入账号:输入20个英文字符
        6. 输入账号:输入21个英文字符"

        预期:
        "1. 可以输入
        2. 可以输入
        3. 只能输入到第20个汉字,无法输入第21个汉字
        4. 可以输入
        5. 可以输入
        6. 只能输入到第20个英文字符,无法输入第21个英文字符"    
        
    '''
        Sys_user_manage_page.add_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='添加用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = 'test' + getString(num=4)
        #账号
        Account = account
        #手机号码为特殊字符
        iphone = '17309013038'

        #期望
        test_expected = expected

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择测试角色
        Sys_user_manage_page.add_role('测试')
        #点击保存
        Sys_user_manage_page.add_user_save()
        time.sleep(3)
        #断言
        assert Sys_user_manage_page.get_form_explain() == test_expected

        #         点击取消按钮
        if test_expected != '':
            Sys_user_manage_page.add_cancel_click()

    @pytest.mark.run(order=12)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_Ok(self, Sys_user_manage_page):
        '''                       
                测试用例编号:
                测试用例标题:新增账号,点击"确定"
                前置条件:已输入合法的姓名,合法账号,合法手机号,角色
                步骤:1. 点击"确定"
                预期:1. 当成功提交后,关闭弹窗,并刷新角色角色列表,新增账号出现在列表中(出现在最后?)               
        '''
        #点击新增按钮
        Sys_user_manage_page.update_btn_click()
        #判断是否存在新增用户弹出框
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = ''

        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #选择用户角色
        Sys_user_manage_page.add_role(name='测试')
        Sys_user_manage_page.add_role(name='开发')
        Sys_user_manage_page.add_role(name='运维')
        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        #判断用户列表
        assert Sys_user_manage_page.check_user_by_name(username=user_name)

    @pytest.mark.run(order=13)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_error_noRole(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面,判断角色是否为空
        前置条件:打开编辑账号信息界面
        步骤:"
        1. 输入姓名
        2. 输入账号
        3. 输入手机号
        4. 不勾选角色,点击确定"
 
        预期:"1. 当未选角色时,复选框后红字提示“请选择角色”
        '''
        already_selected_role = Sys_user_manage_page.get_User_table_value_by_key(
            key='角色', index=1)

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息
        user_name = 'name' + getString(num=4)
        Account = 'Account' + getString(num=4)
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #不选择用户角色,输入为空
        for role in already_selected_role:
            Sys_user_manage_page.add_role(name=role)

        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请选择角色'

        #点击取消
        Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=14)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_error_noPhone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面,判断手机号是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入姓名
        2. 输入账号
        3. 选择角色
        4. 清空手机号码,点击确定"

 
        预期:"1. 当手机号为空时,文本框后红字”请输入手机号“
        '''

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #手机号为空
        Sys_user_manage_page.clear_addAccountForm_tel()
        time.sleep(5)
        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=15)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_error_noRealName(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面,判断姓名是否为空
        前置条件:打开编辑账号信息界面
        步骤:
        1. 输入账号
        2. 输入手机
        3. 选择角色
        4. 清空姓名,点击确定

 
        预期:"1. 当账号为空时,文本框后红字“请填写账号名称”
        '''

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息

        #姓名为空
        Sys_user_manage_page.clear_addAccountForm_realName()

        #点击保存按钮
        Sys_user_manage_page.update_user_save()
        time.sleep(5)

        assert Sys_user_manage_page.get_form_explain() == '请输入姓名'

        #点击取消
        Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=16)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_input_error_relname(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        1. 姓名分别输入特殊字符_,~,@
    

 
        预期:
        1.失去焦点后,文本框提示'不允许使用特殊字符'
        '''

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息

        #姓名为特殊字符
        user_name = '_~@' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '17309013038'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #使用默认角色
        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '不允许使用特殊字符'

        #编辑点击取消
        Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=17)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('编辑用户')
    def test_update_account_input_error_iphone(self, Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:编辑账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
    
        1. 手机分别输入特殊字符_,~,@,-

 
        预期:
        1. 失去焦点后,文本框提示'请输入手机号'
        '''

        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.addDialog_title, text='编辑用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = 'test' + getString(num=4)
        #账号为数字加英文字符
        Account = 'test' + getString(num=4)
        #手机号码为特殊字符
        iphone = '@~-'

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #默认使用原来角色

        #点击保存按钮
        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == '请输入手机号'

        #点击取消
        Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=18)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @pytest.mark.parametrize("realname,expected",
                             [('中移物联网中国移动', ''), ('中移物联网中国移动一', ''),
                              ('中移物联网中国移动一二', '姓名最大长度为10'), ('cmiottest', ''),
                              ('cmiottestY', ''),
                              ('cmiottestYY', '姓名最大长度为10')])
    @allure.story('编辑用户')
    def test_update_account_inputrelname_max_lenth(self, realname, expected,
                                                   Sys_user_manage_page):
        '''
        测试用例编号:
        测试用例标题:新增账号信息界面输入框特殊字符测试
        前置条件:打开编辑账号信息界面
        步骤:
        "
        1. 输入姓名:9个汉字
        2. 输入姓名:10个汉字
        3. 输入姓名:11个汉字
        4. 输入姓名:输入9个英文字符
        5. 输入姓名:输入10个英文字符
        6. 输入姓名:输入11个英文字符"

        预期:
        "1. 可以输入
        2. 可以输入
        3. 只能输入到第10个汉字,无法输入第11个汉字
        4. 可以输入
        5. 可以输入
        6. 只能输入到第10个英文字符,无法输入第11个英文字符"    
        
    '''
        Sys_user_manage_page.update_btn_click()
        assert Sys_user_manage_page.is_text_in_element(
            locator=Sys_user_manage_page.updateDialog_title,
            text='编辑用户') == True

        #编辑用户信息

        #姓名为数字加英文字符
        user_name = realname
        #账号使用默认
        Account = ''
        #手机号码为默认
        iphone = '17309013038'

        #期望
        test_expected = expected

        Sys_user_manage_page.input_add_user_data(name=user_name,
                                                 loginAccount=Account,
                                                 iphone=iphone)

        #使用默认角色
        #Sys_user_manage_page.add_role('测试')

        Sys_user_manage_page.update_user_save()

        assert Sys_user_manage_page.get_form_explain() == test_expected

        #         点击取消按钮
        if test_expected != '':
            Sys_user_manage_page.update_cancel_click()

    @pytest.mark.run(order=21)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('通过用户名称查询')
    def test_query_by_username(self, Sys_user_manage_page):
        '''
                  测试用例编号:
                  测试用例标题:验证姓名查询
                  前置条件:打开编辑账号信息界面
                  步骤:
                  "
                  1.输入姓名"superadmin"
                  2.点击查询按钮
          
                  预期:
                  1. 可以输入
                  2. 返回模糊查询结果
                  
        '''
        #刷新界面
        Sys_user_manage_page.refresh()

        #用户姓名输入框输入"superadmin"
        Sys_user_manage_page.input_name(username='******')

        #点击查询按钮
        Sys_user_manage_page.query_click()

        #断言用户名是否在列表中
        assert 'superadmin' in Sys_user_manage_page.get_User_table_value_by_key(
            key='姓名', index=1)

    @pytest.mark.run(order=22)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('通过角色查询')
    def test_query_by_role(self, Sys_user_manage_page):
        '''
                  测试用例编号:
                  测试用例标题:验证角色查询
                  前置条件:打开编辑账号信息界面
                  步骤:
                  "
                  1.选择角色“测试”
                  2.点击查询按钮
          
                  预期:
                  1. 可以选择
                  2. 返回模糊查询结果
                  
        '''
        #刷新界面
        Sys_user_manage_page.refresh()

        #角色选择"测试"
        Sys_user_manage_page.select_role_by_index(index=1)

        #点击查询按钮
        Sys_user_manage_page.query_click()

        #断言"测试"是否在列表中
        assert '测试' in Sys_user_manage_page.get_User_table_value_by_key(
            key='角色', index=1)

    @pytest.mark.run(order=23)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('通过状态查询已启用角色')
    def test_query_by_status_Ok(self, Sys_user_manage_page):
        '''
                  测试用例编号:
                  测试用例标题:通过状态查询已启用角色
                  前置条件:打开编辑账号信息界面
                  步骤:
                  "
                  1.选择状态“已启用”
                  2.点击查询按钮
          
                  预期:
                  1. 可以选择
                  2. 返回模糊查询结果
                  
        '''

        #刷新界面
        Sys_user_manage_page.refresh()
        #选择状态“已启用”
        Sys_user_manage_page.select_status_by_index(index=1)

        #点击查询按钮
        Sys_user_manage_page.query_click()

        #断言"启用"是否在列表中
        assert '启用' in Sys_user_manage_page.get_User_table_value_by_key(
            key='状态', index=1)

    @pytest.mark.run(order=24)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('通过状态查询已禁用角色')
    def test_query_by_status_No(self, Sys_user_manage_page):
        '''
                  测试用例编号:
                  测试用例标题:通过状态查询已启用角色
                  前置条件:打开编辑账号信息界面
                  步骤:
                  "
                  1.选择状态“已禁用”
                  2.点击查询按钮
          
                  预期:
                  1. 可以选择
                  2. 返回模糊查询结果
                  
        '''

        #刷新界面
        Sys_user_manage_page.refresh()

        #选择状态“已禁用”
        Sys_user_manage_page.select_status_by_index(index=2)

        #点击查询按钮
        Sys_user_manage_page.query_click()

        #断言"禁用"是否在列表中
        assert '禁用' in Sys_user_manage_page.get_User_table_value_by_key(
            key='状态', index=1)

    @pytest.mark.run(order=25)
    @pytest.mark.skipif(is_skip == 0, reason='test')
    @allure.story('验证联合查询')
    def test_query_by_all(self, Sys_user_manage_page):
        '''
                  测试用例编号:
                  测试用例标题:验证联合查询
                  前置条件:打开编辑账号信息界面
                  步骤:
                  "
                  1.姓名输入“superadmin”
                  2.角色输入“全部”
                  3.状态选择“已启用”
          
                  预期:
                  1. 可以输入
                  2. 可以选择
                  3.返回联合查询结果
                  
        '''
        #刷新界面
        Sys_user_manage_page.refresh()

        #姓名输入“superadmin”
        Sys_user_manage_page.input_name(username='******')
        #角色输入“全部”
        Sys_user_manage_page.select_role_by_index(index=0)
        #状态选择“已启用”
        Sys_user_manage_page.select_status_by_index(index=1)

        #点击查询按钮
        Sys_user_manage_page.query_click()

        #断言"禁用"是否在列表中
        assert 'superadmin' in Sys_user_manage_page.get_User_table_value_by_key(
            key='姓名', index=1)

        #断言"启用"是否在列表中
        assert '启用' in Sys_user_manage_page.get_User_table_value_by_key(
            key='状态', index=1)