示例#1
0
 def setUp(self):
     url = 'http://127.0.0.1/ranzhi/sys/user-login.html'
     browserType = 'Chrome'
     self.document = RanzhiDocument(url=url, browserType=browserType)
     name = 'admin'
     pwd = '123456'
     self.document.user_login(name=name, pwd=pwd)
     clicktarget = 'x, //*[@id="s-menu-superadmin"]/button'
     self.document.element_click(clicktarget)
     # 进入文档管理界面
     self.document.enter_douumentmod()
     add_log().info('进入文档管理界面')
示例#2
0
 def assertadduser(self, elemtarget, expected):
     try:
         # 取出要断言的文本,实际结果
         jieguo = self.get_element_text(elemtarget)
         add_log().info('取出文本成功:{}'.format(jieguo))
     except:
         add_log().error('文本提取失败')
         raise Exception
     try:
         assert jieguo == expected
         add_log().info("断言成功,实际结果:{}等于预期结果:{}".format(jieguo, expected))
     except:
         add_log().error("断言失败,实际结果:{}等于预期结果:{}".format(jieguo, expected))
         raise AssertionError
    def runner(self):
        # 实例化一个测试套件
        testsuite = unittest.TestSuite()
        # 获取测试用例的绝对路径
        case_path = Get_ini_data().get_case_path()
        # 加载测试用例
        testsuite.addTests(unittest.TestLoader().discover(
            case_path, pattern='ranzhi_document_test.py'))
        tim = '然之测试报告{}.html'.format(time.strftime('%Y_%m_%d_%H_%M_%S'))
        htmlreportpath = Get_ini_data().get_htmlreport_path()
        reportfilename = htmlreportpath + tim

        test_runner = TestRunner(suite=testsuite,
                                 filename=reportfilename,
                                 report_dir=reportfilename,
                                 title='测试报告',
                                 tester='老林',
                                 desc="然之项目测试生产的报告",
                                 templates=2)
        test_runner.run()

        sendemails(reportfilename)
        add_log().info('邮件已经发送:{}'.format(reportfilename))
示例#4
0
 def test02(self, name, realname, sex, dep, roles, pwd1, pwd2, emailaddress, expected):
     """
     用户名为空格或者特殊字符的测试用例
     :param name:
     :param realname:
     :param sex:
     :param dep:
     :param roles:
     :param pwd1:
     :param pwd2:
     :param emailaddress:
     :return:
     """
     try:
         tt = str(datetime.datetime.now().microsecond)
         self.addtest.add_username(name)
         add_log().info('用户名输入成功 {}'.format(name))
         self.addtest.add_realname(realname)
         add_log().info('真实姓名输入成功 {}'.format(realname))
         self.addtest.chiose_sex(int(sex))
         add_log().info('性别选择成功 {}'.format(sex))
         self.addtest.chiose_dep(dep)
         add_log().info('部门选择成功 {}'.format(dep))
         self.addtest.chiose_roles(roles)
         add_log().info('角色选择成功 {}'.format(roles))
         self.addtest.send_pwd1(pwd1)
         add_log().info('密码1输入成功 {}'.format(pwd1))
         self.addtest.send_pwd2(pwd2)
         add_log().info('密码2输入成功 {}'.format(pwd2))
         self.addtest.add_email_address(tt + emailaddress)
         add_log().info('邮箱输入成功 {}'.format(tt + emailaddress))
         self.addtest.click_button_save()
         add_log().info('点击保存')
         expected = expected
         # 获取输入框的提示文本
         actual_results = self.addtest.get_element_text('x,//*[@id="accountLabel"]')
         add_log().info('预期结果:{}---实际结果:{}'.format(expected, actual_results))
         self.assertEqual(expected, actual_results, '与预期结果不等')
     except:
         add_log().error('执行失败')
         self.addtest.save_Screenshot(Get_ini_data().get_screenshot_path())
         raise AssertionError
示例#5
0
    def test07(self, name, realname, sex, dep, roles, pwd1, pwd2, emailaddress, dept_value):
        """
        部门选择
        :param name:
        :param realname:
        :param sex:
        :param dep:
        :param roles:
        :param pwd1:
        :param pwd2:
        :param emailaddress:
        :return:
        """
        try:
            tt = str(datetime.datetime.now().microsecond)
            self.addtest.add_username(name+tt)
            add_log().info('用户名输入成功 {}'.format(name))
            self.addtest.add_realname(realname)
            add_log().info('真实姓名输入成功 {}'.format(realname))
            self.addtest.chiose_sex(int(sex))
            add_log().info('性别选择成功 {}'.format(sex))
            self.addtest.chiose_dep(dep)
            add_log().info('部门选择成功 {}'.format(dep))
            self.addtest.chiose_roles(roles)
            add_log().info('角色选择成功 {}'.format(roles))
            self.addtest.send_pwd1(pwd1)
            add_log().info('密码1输入成功 {}'.format(pwd1))
            self.addtest.send_pwd2(pwd2)
            add_log().info('密码2输入成功 {}'.format(pwd2))
            self.addtest.add_email_address(tt + emailaddress)
            add_log().info('邮箱输入成功 {}'.format(tt + emailaddress))
            self.addtest.click_button_save()
            add_log().info('点击保存')
            expected = dep
            self.addtest.set_num_of_pages(1000)
            actual_results = self.addtest.get_element_text\
                ('css,body > div > div > div > div.col-md-10 > div > div > table > tbody > tr:last-child > td:nth-child(5)')
            add_log().info('获取部门名称{}'.format(actual_results))
            self.assertEqual(expected, actual_results, '与预期结果不等')
            # 获取数据库中最新一条记录的部门信息
            databasedata = get_databasedata('select sys_user.dept from sys_user order by sys_user.join')
            self.assertEqual(dept_value, databasedata, '实际部门{}与数据库数据{}比较'.format(dept_value, databasedata))
            add_log().info('数据库验证成功:输入值:{}与数据库记录:{}'.format(dept_value, databasedata))

        except:
            add_log().error('执行失败')
            self.addtest.save_Screenshot(Get_ini_data().get_screenshot_path())
            raise AssertionError
示例#6
0
 def test01(self, name, realname, sex, dep, roles, pwd1, pwd2, emailaddress):
     """
     添加成功的用例
     :param name:
     :param realname:
     :param sex:
     :param dep:
     :param roles:
     :param pwd1:
     :param pwd2:
     :param emailaddress:
     :return:
     """
     try:
         tt = str(datetime.datetime.now().microsecond)
         self.addtest.add_username(name + tt)
         add_log().info('用户名输入成功 {}'.format(name + tt))
         self.addtest.add_realname(realname)
         add_log().info('真实姓名输入成功 {}'.format(realname))
         self.addtest.chiose_sex(int(sex))
         add_log().info('性别选择成功 {}'.format(sex))
         self.addtest.chiose_dep(dep)
         add_log().info('部门选择成功 {}'.format(dep))
         self.addtest.chiose_roles(roles)
         add_log().info('角色选择成功 {}'.format(roles))
         self.addtest.send_pwd1(pwd1)
         add_log().info('密码1输入成功 {}'.format(pwd1))
         self.addtest.send_pwd2(pwd2)
         add_log().info('密码2输入成功 {}'.format(pwd2))
         self.addtest.add_email_address(tt + emailaddress)
         add_log().info('邮箱输入成功 {}'.format(tt + emailaddress))
         self.addtest.click_button_save()
         add_log().info('保存成功')
         self.addtest.set_num_of_pages(1000)
         add_log().info('页面切换成功')
         # 获取最后一条信息的用户名称文本
         usernamedata = self.addtest.get_element_text \
             (
                 'css,body > div > div > div > div.col-md-10 > div > div > table > tbody > tr:last-child > td:nth-child(3)')
         add_log().info('页面用户名称文本获取:{}'.format(usernamedata))
         self.assertEqual(name + tt, usernamedata, '客户验证添加失败')
         # 获取数据库信息,username
         actual_results = get_databasedata('select account from sys_user order by sys_user.join')
         add_log().info('数据库连接成功,数据:{}'.format(actual_results))
         self.assertEqual(name + tt, actual_results, '数据库验证添加失败')
     except:
         self.addtest.save_Screenshot(Get_ini_data().get_screenshot_path())
         add_log().error('执行失败')
         raise AssertionError
示例#7
0
 def test01(self, doclibtyp, doclibname, groupnum):
     """
     添加文档库的测试
     :param doclibtyp:
     :param doclibname:
     :param groupnum:
     :return:
     """
     try:
         tt = datetime.datetime.now().microsecond
         tt = str(tt)
         # 创建文档库
         # 选择iframe框架
         self.document.select_doc_ifarme()
         add_log().info('进入iframe框架')
         # 进入到文档库添加界面
         self.document.cteat_doc_mod()
         add_log().info('进入到创建文档库界面')
         # 选择文档库类型
         self.document.select_doc_lib(doclibtyp)
         add_log().info('文档库类型选择为:{}'.format(doclibtyp))
         # 写入文档库名字
         self.document.set_doclib_name(doclibname + tt)
         add_log().info('文档库名字为{}'.format(doclibname + tt))
         # 根据li标签序号选择几个用户来使用文档库
         self.document.set_username_doclib(1, 14, 3)
         add_log().info('用户选择完成')
         # 根据class下标选择授权分组,可以多选
         self.document.chiose_usergroup(groupnum)
         add_log().info('用户组选择为:{}'.format(groupnum))
         # 点击保存按钮
         self.document.click_savecreatdoc_buttom()
         add_log().info('保存按钮点击操作')
         self.document.out_doc_ifarme()
         self.document.reload_doc_window()
         self.document.select_doc_ifarme()
         # 切换到文档库首页
         self.document.switch_doc_home()
         add_log().info('切换到文档库首页')
         libname = self.document.get_element_text(
             'css,#libs > div > div:nth-child(1) > div > a')
         add_log().info('首页第一个新文档名字:{},输入的文档名字{}'.format(
             libname, doclibname + tt))
         self.assertEqual(libname, doclibname + tt, '客户端验证添加文档库失败')
     except:
         self.document.save_Screenshot(Get_ini_data().get_screenshot_path())
         raise AssertionError