Exemplo n.º 1
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(
                    os.path.dirname(os.getcwd()) + '/report/' + case_name +
                    '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()
        '''
    @ddt.data(
        ['12','yewr3','123456','code','user_email_error','请输入有效的电子邮件地址'],
        ['@qq.com', 'yewr3', '123456', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
        ['*****@*****.**', 'yewr3', '123456', 'code', 'user_email_error', '请输入有效的电子邮件地址']
    )
    @ddt.unpack
        '''

    @ddt.data(*data)
    def test_login_email_error(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        self.assertFalse(email_error, '此条case执行失败')
Exemplo n.º 2
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.login = RegisterBusiness(self.driver)

    def tearDown(self) -> None:
        time.sleep(2)
        # 捕获程序是否有异常,有则截图保存
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(BATH_PATH, 'report',
                                         case_name + '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()

    @ddt.data(*data)
    @ddt.unpack
    def test_register_case(self, *data):
        email, username, password, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   file_name, assertCode,
                                                   assertText)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 3
0
class FirstDdtCase(unittest.TestCase):
    file_name = "C://Users//邱步一//PycharmProjects//51test//Image//test001.png"

    # 邮箱、用户名、密码、验证码、错误信息定位元素、错误提示信息
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.login = RegisterBusiness(self.driver)


    def tearDown(self):
        time.sleep(2)
        #if sys.exc_info()[0]:
        for method_name,error in self._outcome.errors:
              if error:
                  case_name = self._testMethodName
                  file_path = os.path.join(os.path.dirname(os.getcwd())+"/report/"+case_name+"error.png")
                  print(file_path)
                  self.driver.save_screenshot(file_path)
        #print("这个是case的后置调键1")
        self.driver.close()
    '''
    @ddt.data(
            ['12','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址'],
            ['@qq.com','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址'],
            ['*****@*****.**','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址']
        )
    @ddt.unpack
    '''
    @ddt.data(*data)
    def test_register_case(self,data):
        email,username,password,self.file_name,assertCode,assertText = data
        print(self.file_name)
        email_error = self.login.register_function(email,username,password,"C://Users//邱步一//PycharmProjects//51test//Image//test001.png",assertCode,assertText)
        self.assertFalse(email_error,"测试失败")
Exemplo n.º 4
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.login = RegisterBusiness(self.driver)
        self.file_name = "E:/SELENIUMPYTHON/Image/test001.png"

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()
        print("执行完一条case")

    '''
    @ddt.data(
            ['test001','username01','password','code','user_email_error','请输入有效的电子邮件地址'],
            ['@qq.com','username01','password','code','user_email_error','请输入有效的电子邮件地址'],
            ['*****@*****.**','username01','password','code','user_email_error','请输入有效的电子邮件地址']
    )

    @ddt.unpack  
    '''

    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 5
0
class FirstDataCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome() #因为driver在其他函数中要使用,所以加上self使其变为全局的
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()  
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)
        for method_name,error in self._outcome.errors:
            if error:
                case_name = self._testMethodName #获取case的名字,用于后续的截图
                screenshot_name = case_name+'.png' #截图图片的名字
                dir_path = os.path.dirname(os.getcwd()) #获取上一级目录,即工程目录  
                file_path = os.path.join(dir_path,'report',screenshot_name) #截图保存路径
                self.driver.save_screenshot(file_path)
        self.driver.close()
    
    #邮箱、用户名、密码、验证码、错误信息定位元素、错误提示信息
    '''
    @ddt.data(
            ['122','Mushishi11','111111',r'D:\selenium_image\test02.png','user_email_error','请输入有效的电子邮件地址'],
            ['@qq.com','Mushishi11','111111',r'D:\selenium_image\test02.png','user_email_error','请输入有效的电子邮件地址'],
            ['*****@*****.**','Mushishi11','111111',r'D:\selenium_image\test02.png','user_email_error','请输入有效的电子邮件地址']
    )

    @ddt.unpack

    '''

    @ddt.data(*data)
    def test_register_case(self,data):
        email,username,password,file_name,assertCode,assertText = data        
        email_error = self.login.register_function(email,username,password,file_name,assertCode,assertText)
        self.assertFalse(email_error,'测试失败')
Exemplo n.º 6
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        # self.logger.info("this is chrome")
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join("E:/pythonProject/SeleniumPython" +
                                         "/report/" + case_name + ".png")
                self.driver.save_screenshot(file_path)
        # print("这个是case的后置条件")
        self.driver.close()

    # @ddt.data(
    #     ['123','gryufeng01','111111','code','user_email_error','请输入有效的电子邮件地址'],
    #     ['@qq.com', 'gryufeng02', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
    #     ['*****@*****.**', 'gryufeng03', '111111', 'code', 'user_email_error', '请输入有效的电子邮件地址']
    #     )
    # @ddt.unpack
    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        self.assertFalse(email_error, '测试失败')
Exemplo n.º 7
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        #print('测试开始前执行')
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        #print('测试完成后执行')
        #if sys.exc_info()[0]:
        for method_name,error in self._outcome.errors:  #_outcome.errors能获取当前运行case名称和错误信息
            if error:       #如果有错误信息
                case_name = self._testMethodName    #获取当前运行错误case的名称
                path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取当前文件目录的上一级目录
                file_path = path +'\\report\\'+case_name+'.png'     #存储路径
                self.driver.save_screenshot(file_path)  #截图
        time.sleep(3)
        self.driver.quit()

    '''
    @ddt.data(      #ddt数据
        ['12','kiv111','cde33333','321','user_email_error','请输入有效的电子邮件地址'],
        ['qq.com','kiv111','cde33333','321','user_email_error','请输入有效的电子邮件地址'],
        ['12qq.com','kiv111','cde33333','321','user_email_error','请输入有效的电子邮件地址'],
    )

    @ddt.unpack     #解包
    '''
    @ddt.data(*data)
    def test_register_case(self,data):
        email,name,password,code,assertCode,assertText = data   #为data里的每一个字段赋值,赋值到相应字段名
        email_error = self.login.register_function(email,name,password,code,assertCode,assertText)    #也就是cls.file_name
        return self.assertFalse(email_error,'case执行失败')   #判断结果是否为false,不为false时候 打印'case执行'
Exemplo n.º 8
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.register_b = RegisterBusiness()
        # self.file_name = selenium_driver.get_picture('re')

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                error_path = os.path.dirname(
                    os.path.dirname(os.path.dirname(
                        os.path.abspath(__file__))))
                case_error_path = os.path.join(error_path + "/report/" +
                                               case_name + '.png')
                selenium_driver.img_png(case_error_path)

    '''
    @ddt.data(
        ["123", 'anmuxi', '12345', 'code', 'user_email_error'],
        ["@123.com", 'anmuxi', '12345', 'code', 'user_email_error'],
        ["*****@*****.**", 'anmuxi', '12345', 'code', 'user_email_error']
    )
    @ddt.unpack
    '''

    @ddt.data(*data)
    def test_register_case(self, data):
        email, name, password, file_name, assertcode = data
        email_error = self.register_b.register_function(
            email, name, password, file_name, assertcode)
        self.assertFalse(email_error)  # 断言是否为false
Exemplo n.º 9
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.rBusiness = RegisterBusiness(self.driver)

    def tearDown(self):
        # time.sleep(5)
        self.driver.close()

    # ["*****@*****.**","http://www.5itest.cn/register","1qaz2wsx","code","user_name_error","字符长度必须小于等于18,一个中文字算2个字符"],
    # ["*****@*****.**","OneDate","1qaz2wsx","code","user_name_error","验证码错误"]
    '''
     
     @ddt.data(
            ["12","123123","666666","code","user_email_error","请输入有效的电子邮件地址"]
    )
    解包,数据长度要一致
    @ddt.unpack
    def test_register_error(self,email,username,password,code,asssertCode,assertText):
        error = self.rBusiness.register_function(email,username,password,code,asssertCode,assertText)
        logging.info ( '用例被运行了' )
        self.assertFalse(error,'测试失败')
     
     '''
    #excle 表 取数据的形式 使用方式
    @ddt.data(*data)
    def test_register_error(self, data):
        email, username, password, code, asssertCode, assertText = data
        error = self.rBusiness.register_function(email, username, password,
                                                 code, asssertCode, assertText)
        logging.info('用例被运行了')
        self.assertFalse(error, '测试失败')
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register?goto=/course/explore")
        self.driver.maximize_window()
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)
        #if sys.exc_info()[0]:
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    '''
    @ddt.data(
            ['234','test0007','111111','code','user_email_error','请输入有效的电子邮件地址'],
            ['@qq.com','test0007','111111','code','user_email_error','请输入有效的电子邮件地址'],
            ['*****@*****.**','test0007','111','code','user_email_error','请输入有效的电子邮件地址']
        )

    @ddt.unpack
    '''

    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, self.file_name, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   self.file_name, assertCode,
                                                   assertText)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 11
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.rb = RegisterBusiness(self.driver)
        self.file_name = 'E:/PycharmProjects/seleniumPython/image/test001.png'

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    '''
    @ddt.data(
        ['12', 'Mushishi01', '111111', 'E:/PycharmProjects/seleniumPython/image/test001.png', 'user_email_error', '请输入有效的电子邮件地址'],
        ['@qq.com', 'Mushishi01', '111111', 'E:/PycharmProjects/seleniumPython/image/test001.png', 'user_email_error', '请输入有效的电子邮件地址'],
        ['*****@*****.**', 'Mushishi01', '111111', 'E:/PycharmProjects/seleniumPython/image/test001.png', 'user_email_error', '请输入有效的电子邮件地址']
    )
    @ddt.unpack
    '''

    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, self.file_name, assertCode, assertText = data
        email_error = self.rb.register_function(email, username, password,
                                                self.file_name, assertCode,
                                                assertText)
        self.assertFalse(email_error, '测试失败')
Exemplo n.º 12
0
class firstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register?goto=/")
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)

        for method_name,error in self._outcome.errors:
            if error:
                casename = self._testMethodName
                file_path = os.path.join(os.getcwd() + "\\report\\"+casename+".png")
                self.driver.save_screenshot(file_path)

        self.driver.close()
    '''
    @ddt.data(
        ['111','22','333','11','email_error','请输入有效的电子邮件地址'],
        ['*****@*****.**', '22', '333', '11', 'email_error', '请输入有效的电子邮件地址'],
        ['111', '22', '333', '11', 'email_error', '请输入有效的电子邮件地址']

    )'''
    @ddt.data(*data)
    def test_register_case(self,data):
        email,username,password,code,assertcode,asserttext = tuple(data)
        print(data)
        email = str(email)
        username = str(username)
        password = str(password)
        code = str(code)
        assertcode = str(assertcode)
        asserttext = str(asserttext)
        email_error = self.login.register_function(email,username,password,code,assertcode,asserttext)
        return self.assertTrue(email_error,"case执行成功")
Exemplo n.º 13
0
class FirstDbtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path=driver_path)
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        # self.driver.save_screenshot()
        time.sleep(2)
        # sys.exc_info()[0]:
        for method_name, error in self._outcome.errors:
            if error:
                # caseの名前を取得
                case_name = self._testMethodName
                file_path = os.path.abspath(os.path.join(
                    os.getcwd(), "..")) + r"\report\%s.png" % case_name
                self.driver.save_screenshot(file_path)
        self.driver.close()

    # 'email', 'username', 'password', 'code', 'assertCode', 'assertText'
    # @ddt.data(
    #     ['123', 'huasdasd01', '1111111', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
    #     ['*****@*****.**', 'huasdasd01', '1111111', 'code', 'user_email_error-error', '请输入有效的电子邮件地址']
    # )

    # @ddt.unpack
    # def test_register_case(self, email, username, password, code, assertCode, assertText):
    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        self.assertFalse(email_error, 'テスト失敗')
Exemplo n.º 14
0
class FirstDataTest(unittest.TestCase):

    # @classmethod
    # def setUpClass(cls):
    #     option = webdriver.ChromeOptions()
    #     # 无界面使用
    #     option.add_argument('--headless')
    #     # 设置浏览器分辨率(窗口大小
    #     option.add_argument("--window-size=1920,1080")
    #     cls.driver = webdriver.Chrome(chrome_options=option)
    #     cls.driver.get("http://www.5itest.cn/register")
    #     cls.register_b = RegisterBusiness(cls.driver)

    def setUp(self):
        print("开始执行case")
        option = webdriver.ChromeOptions()
        # 无界面使用
        option.add_argument('--headless')
        # 设置浏览器分辨率(窗口大小
        option.add_argument("--window-size=1920,1080")
        self.driver = webdriver.Chrome(chrome_options=option)
        self.driver.get("http://www.5itest.cn/register")
        self.register_b = RegisterBusiness(self.driver)
        # self.file_name = r"D:\测试\自动化测试\Web自动化测试\selenium3_python3\image\code.png"

    # @classmethod
    # def tearDownClass(cls):
    #     time.sleep(5)
    #     cls.driver.quit()

    def tearDown(self):
        print("case执行结束")
        time.sleep(2)
        self.driver.quit()
        # for method_name, error in self._outcome.errors:
        #     if error:
        #         # case_name是测试函数名
        #         case_name = self._testMethodName
        #         now_time = time.strftime("%Y%m%d.%H.%M.%S")
        #         self.driver.save_screenshot(r"D:\测试\自动化测试\Web自动化测试\selenium3_python3\image\%s.png" % (case_name + now_time))

    # 邮箱、用户名、密码、验证码、错误信息定位元素、错误提示信息
    # ["email", "nickname", "password", "code", "assertCode", "assertText"]
    # @ddt.data(
    #     ['12', 'Mushishi01', '111111', 'code', 'email_error', '请输入有效的电子邮件地址'],
    #     ['@qq.com', 'Mushishi01', '111111', 'code', 'email_error', '请输入有效的电子邮件地址'],
    #     ['*****@*****.**', 'Mushishi01', '111111', 'code', 'email_error', '请输入有效的电子邮件地址'],
    # )
    # @ddt.unpack

    @ddt.data(*data)
    def test_register_case(self, data):
        email, nickname, password, code, assertCode, assertText = data
        register_error = self.register_b.register_function(
            email, nickname, password, code, assertCode, assertText)
        self.assertFalse(register_error, "此条case执行失败")
Exemplo n.º 15
0
class FirstDdtCase(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        image_file_path = os.path.join(os.path.dirname(os.getcwd()) + "/bg-image/register_code.png")
        cls.file_name = image_file_path
        print("所有case的前置")

    @classmethod
    def tearDownClass(cls):
        print("所有case的后置")


    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.registerb = RegisterBusiness(self.driver)
        print("执行了当前case的前置条件")

    def tearDown(self):
        time.sleep(5)
        for method, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name + ".png")
                self.driver.save_screenshot(file_path)
            else:
                return None
        self.driver.close()
        print("执行了当前case的后置条件")
    '''
    @ddt.data(
        ['*****@*****.**','abc123','111111','file_name','email_error'],
        ['*****@*****.**', 'abc123', '111111', 'file_name', 'name_error'],
        ['*****@*****.**', 'abc123', '111111', 'file_name', 'password_error'],
        ['*****@*****.**', 'abc123', '111111', 'file_name', 'code_error'],
    )
    @ddt.unpack
    def test_register_case(self,email,username,password,code,assertCode):
        email_error = self.registerb.register_function(email,username,password,code,assertCode)
        time.sleep(5)
        self.assertFalse(email_error,'case01-出错了')
    '''
    #结合excel
    @ddt.data(*data)
    def test_register_case(self,data):
        email, username, password, code, assertCode = data
        email_error = self.registerb.register_function(email,username,password,code,assertCode)
        time.sleep(5)
        self.assertFalse(email_error,'case01-出错了')
Exemplo n.º 16
0
class DdtDataFirst(unittest.TestCase):
    """提供注册所用邮箱、用户名、密码、验证码,以及错误信息定位元素、错误提示信息"""
    ex = ExcelUtil()
    data = ex.get_data()

    @classmethod
    def setUpClass(cls) -> None:
        # cls.driver = webdriver.Chrome()
        # cls.driver.maximize_window()

        warnings.simplefilter("ignore", ResourceWarning)

    @classmethod
    def tearDownClass(cls) -> None:
        time.sleep(3)

    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()
        path = "../config/LocalElement.ini"
        i_vcode = IdentifyVCode(self.driver, self._testMethodName, path)
        # self.v_code = i_vcode.get_jj_varify_code("code_image")
        self.register_b = RegisterBusiness(self.driver, path)

    def tearDown(self) -> None:
        curr_time = datetime.datetime.now()
        str_time = str(curr_time.time())
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join("../report/" + case_name + str_time +
                                         ".png")
                self.driver.save_screenshot(file_path)
        time.sleep(5)
        self.driver.close()

    # @ddt.data(
    #     ["2323", "这是新用户名", "11111", "xddsd", "email_error", "请输入有效的的电子邮件地址"],
    #     ["sfds", "这是新用户名", "11111", "xddsd", "email_error", "请输入有效的的电子邮件地址"],
    #     ["*****@*****.**", "这是新用户名", "11111", "xddsd", "email_error", "请输入有效的的电子邮件地址"]
    # )
    # @ddt.unpack
    @ddt.data(*data)
    def test_login_success(self, email, name, password, code, assertCode,
                           assertText):
        login_statue = self.register_b.register_function(
            email, name, password, code, assertCode, assertText)
        self.assertFalse(login_statue, "测试失败")
Exemplo n.º 17
0
class FirstDdtCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.file_name = "E:/programs/pycharmprojects/selenium_python/pageobject/image/test01.png"

    @classmethod
    def tearDownClass(self):

        print('所有case运行后的后置条件')

    def setUp(self):
        # self.file_name = "E:/programs/pycharmprojects/selenium_python/pageobject/image/test01.png"
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        time.sleep(2)
        self.driver.get('http://www.5itest.cn/register')
        self.RB = RegisterBusiness(self.driver)

    def tearDown(self):
        # 通过self._outcome.errors捕捉报错信息,并提取其中的值到method_name,error两个变量中
        for method_name, error in self._outcome.errors:
            # 当错误不为空时,执行截图操作,截图文件保存路径为当前工程目录下report文件夹
            # 并以当前case命名
            if error:
                # 获取当前case名称
                case_name = self._testMethodName
                # 设置路径为当前工程目录下report文件夹,并以当前运行case命名的文件
                file_path = os.path.abspath(
                    os.path.dirname(os.getcwd()) + '/report/' + case_name +
                    '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()

    '''
    @ddt.data(
        ['12','12345','123456','code','email_error','请输入有效的电子邮件地址'],
        ['@qq.com','12345','123456','code','email_error','请输入有效的电子邮件地址'],
        ['*****@*****.**', '12345', '123456', 'code', 'email_error', '请输入有效的电子邮件地址']
    )
    '''

    @ddt.data(*data)
    def test_login_register(self, data):
        email, username, password, code, assertCode, assertText = data
        test = self.RB.register_function(email, username, password, code,
                                         assertCode, assertText)
        return self.assertFalse(test, 'case失败')
Exemplo n.º 18
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get("http://my.cnki.net/Register/")
        self.register = RegisterBusiness(self.driver)

    def tearDown(self) -> None:
        time.sleep(2)
        self.driver.close()

    @ddt.data(*data)
    @ddt.unpack
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.register.register_function(email, username,
                                                      password, code,
                                                      assertCode, assertText)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 19
0
class FirstDdtCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print('所有case执行之前的前置')

    @classmethod
    def tearDownClass(cls):
        print('所有case执行之后的后置')

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(3)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path_father = os.path.abspath(os.path.dirname(
                    os.getcwd()))
                file_path = os.path.join(file_path_father + "\\report\\" +
                                         case_name + ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    # 邮箱、用户名、密码、验证码、错误信息元素、错误信息
    '''
    @ddt.data(
        ['123','karen','123456','code','user_email_error','请输入有效的电子邮箱地址'],
        ['*****@*****.**', 'karen', '123456', 'code', 'user_email_error', '请输入有效的电子邮箱地址']
        )
    @ddt.unpack
    '''

    @ddt.data(*data)
    def test_register_case(self, data):
        '''邮箱错误'''
        email, username, password, code, assertcode, asserttext = data
        email_e = self.login.register_function(email, username, password, code,
                                               assertcode, asserttext)
        self.assertFalse(email_e, '此条case成功')
Exemplo n.º 20
0
class FirstDdtCase(unittest.TestCase):
    @classmethod  #装饰器
    def setUpClass(cls):
        print("所有case 执行之前的前置")

    @classmethod  # 装饰器
    def tearDownClass(cls):
        print("所有case执行之后的后置")

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        #if sys.exc_info()[0]:
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()
        print("这是case 的后置条件")

    # @ddt.data(
    # ["123","mushishi01","111111","code","email_error","请输入有效的电子邮件地址"],
    # ["@qq.com", "mushishi01", "111111", "code", "email_error", "请输入有效的电子邮件地址"],
    # ["*****@*****.**", "mushishinxnxn", "111111", "code", "email_error", "请输入有效的电子邮件地址"]
    # #["*****@*****.**", "mushishi01", "111111", "code", "email_error", "请输入有效的电子邮件地址"],
    # #["*****@*****.**", "mushishi01", "111111", "code", "email_error", "请输入有效的电子邮件地址"]
    #     )
    # @ddt.unpack

    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        print(email_error)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 21
0
class FirstCaseDdt(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.log = UserLog()
        cls.logger = cls.log.get_log()
        print("执行case_01")

    @classmethod
    def tearDownClass(cls):
        cls.log.close_handle()
        print("所有case后置")

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.get("https://www.showapi.com/auth/reg")
        self.logger.info('open url')
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)

        self.driver.close()

    #用户名,邮箱,密码,验证码,定位信息,提示信息
    # @ddt.data(
    #     ['name001', 'email','password','file_name','user_email_error','请输入正确的邮箱账号'],
    # )
    #
    # @ddt.unpack

    @ddt.data(*data)
    def test_01_ddt(self, data):
        name, email, password, code, assertCode, assertText = data
        email_error = self.login.register_function(name, email, password, code,
                                                   assertCode, assertText)
        self.assertFalse(email_error)
class FirstDdtCase(unittest.TestCase):
    ''' 数据驱动 '''
    def setUp(self):
        warnings.simplefilter('ignore', ResourceWarning)
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.register = RegisterBusiness(self.driver)
        self.file_name = 'D:/Imooc_project/yztp/yzm.png'

    def tearDown(self):
        time.sleep(2)
        for method_name, error in self._outcome.errors:  # self._outcome.errors用于获取案例中的失败
            if error:
                case_name = self._testMethodName  # _testMrthodName用于获取用例名
                file_path = os.path.join(
                    os.path.dirname(os.path.dirname(
                        os.path.realpath(__file__))) + r'\tp' + '\\' +
                    case_name + '.png')  # 报告放的位置
                self.driver.save_screenshot(file_path)
        self.driver.quit()

    '''
    @ddt.data(
        ['12', 'zjq123', '123123', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
        ['@qq.com', 'zjq123', '123123', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
        ['*****@*****.**', 'zjq123', '123123', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
    )
    @ddt.unpack
    '''

    @ddt.data(*data)
    @ddt.unpack  # 如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者使用unpack分解数据。
    def test_register_case(self, email, username, password, code, assertCode,
                           assertText):
        # email, username, password, code, assertCode, assertText = data
        email_error = self.register.register_function(email, username,
                                                      password, code,
                                                      assertCode, assertText)
        self.assertFalse(email_error)
Exemplo n.º 23
0
class FirstDdtCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.log = UserLog()
        cls.logger = cls.log.get_log()
    #     cls.file_name = r"E:\Users\dongf\PycharmProjects\BaiDeom\case\report\test002.png"

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register?goto=/")
        self.logger.info("thes is log")
        self.login = RegisterBusiness(self.driver)
    def tearDown(self):
        sleep(2)
        for method_name,error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd()+"/report/"+case_name+".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    @classmethod
    def tearDownClass(cls):
        cls.log.close_handle()
        #print("这个是case的后置条件")
        """
    @ddt.data(
        ["12","dongfa123","1234567","111111","user_email_error","请输入有效的电子邮件地址"],
        ["*****@*****.**","dongfa123","1234567","111111", "user_name_error",  "字符长度必须大于等于4,一个中文字算2个字符"],
        ["*****@*****.**","dongfa123","1234567","111111", "password_error", "最少需要输入 5 个字符"]

    )
    @ddt.unpack
        """
    @ddt.data(*data)
    #@ddt.unpack
    def test_register_case(self,data):
        email, username, password, code, assertCode, assertText = data
        email_error = self.login.register_function(email,username,password,code,assertCode,assertText)
        self.assertFalse(email_error,"case失败")
Exemplo n.º 24
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get("http://www.5itest.cn/register")
        time.sleep(2)
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(3)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(
                    os.path.dirname(os.getcwd()) + "\\report\\" + case_name +
                    ".png")
                self.driver.save_screenshot(file_path)
        # if sys.exc_info()[0]:
        #
        self.driver.close()
        print("后置条件")

    # @ddt.data(
    #     ["1232@", "1234", "123456", "F:\\workspace\\python\\py\\report\\test001.png", "user_email_error", "请输入有效的电子邮件地址"],
    #     # ["@163.com", "1234", "123456", "F:\\workspace\\python\\py\\report\\test001.png", "user_email_error", "请输入有效的电子邮件地址"],
    #     # ["*****@*****.**", "1234", "123456", "F:\\workspace\\python\\py\\report\\test001.png", "user_email_error", "请输入有效的电子邮件地址"]
    # )
    # @ddt.unpack

    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data
        print('username==', username)
        print('password=', password)
        email_error = self.login.register_function(email, username, password,
                                                   code, assertCode,
                                                   assertText)
        print(code)
        self.assertFalse(email_error, "email case")
Exemplo n.º 25
0
class FirstDateCase(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        get_element = ReadIni()
        # cls.file_name = "C:/Users/Administrator/PycharmProjects/moco/moco_selenium/image/test001.png"
        # cls.file_name = get_element.get_value("code_image_url")

    def setUp(self):
        #self.driver = webdriver.Chrome("C:\Program Files (x86)\python\chromedriver.exe")
        self.driver = webdriver.Chrome("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application"
                                       "\\chromedriver.exe")
        self.driver.get("http://www.5itest.cn/register?goto=/")
        self.login = RegisterBusiness(self.driver)

    def tearDown(self):
        time.sleep(2)
        for methon_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                #filePath = os.path.join(os.path.dirname(os.getcwd()) + "\\moco\\report\\" + case_name + ".png")
                filePath1 = 'C:\\Users\\Administrator\\PycharmProjects\\moco\\report'
                filePath = filePath1 + '\\' + case_name + '.png'
                self.driver.save_screenshot(filePath)
        self.driver.close()

    # @ddt.data(
    #     ['12', 'advbd12', '1234456', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
    #     ['@q.com', 'advbd12', '1234456', 'code', 'user_email_error', '请输入有效的电子邮件地址'],
    #     ['*****@*****.**', 'advbd12', '1234456', 'code', 'user_email_error', '请输入有效的电子邮件地址']
    # )
    # @ddt.unpack
    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertCode, assertText = data

        email_error = self.login.register_function(email, username, password, code, assertCode, assertText)
        self.assertEquals(email_error, assertText, "case执行失败")
Exemplo n.º 26
0
class FirstDdtCase(unittest.TestCase):

    #unittest前置条件:打开网站  某一条case的前置条件
    def setUp(self):
        self.driver = webdriver.Chrome()  #加self使driver变成全局的
        self.driver.get('http://www.5itest.cn/register')
        self.login = RegisterBusiness(self.driver)

    #unittest后置条件:关闭driver   某一条case的后置条件
    def tearDown(self):
        time.sleep(2)
        #判断当前程序的运行是否有异常  python 3
        #拿到当前运行的错误信息,返回的是list
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.join(os.getcwd() + "/report/" + case_name +
                                         ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    '''
       @ddt.data(
               ['12','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址'],
               ['@qq.com','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址'],
               ['*****@*****.**','Mushishi01','111111','code','user_email_error','请输入有效的电子邮件地址']
           )
       @ddt.unpack
       '''

    @ddt.data(*data)
    def test_register_case(self, data):
        #list赋值
        email, username, password, self.file_name, assertCode, assertText = data
        email_error = self.login.register_function(email, username, password,
                                                   self.file_name, assertCode,
                                                   assertText)
        self.assertFalse(email_error, "测试失败")
Exemplo n.º 27
0
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()
        self.register_b = RegisterBusiness(self.driver)
        self.file_name = "C:/Users/TSDLJ/PycharmProjects/UITest_muke/screenshot.png"

    def tearDown(self):
        print('这是case的后置条件')
        # sys.exc_info()
        # 报错时截图
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                image_path = sys.path[0] + "/image/" + case_name + ".png"
                self.driver.save_screenshot(image_path)
        self.driver.close()

    # 邮箱 用户名 密码 验证码 定位元素 错误提示
    '''
    @ddt.data(
        ["123", "userwed", "111111", "code", "user_email_error", "请输入有效的电子邮件地址"],
        ["@wh.com", "userwed", "111111", "code", "user_email_error", "请输入有效的电子邮件地址"],
        ["*****@*****.**", "userwed", "111111", "code", "user_email_error", "请输入有效的电子邮件地址"]
              )
    @ddt.unpack
    '''
    # excel文件数据
    @ddt.data(*data)
    def test_register_case(self, data):
        email, username, password, code, assertcode, assertext = data
        register_error = self.register_b.register_function(
            email, username, password, code, assertcode, assertext)
        # email_error返回True或者False,返回True时,说明email错误提示没有显示,断言结果为F;email错误提示显示显示时,断言结果为OK
        self.assertFalse(register_error, '测试失败')
Exemplo n.º 28
0
class FirstDdtCase(unittest.TestCase):
    # 所有case执行之前的装饰器---前置条件
    '''
    @classmethod
    def setUpClass(cls):
        cls.register_url = 'http://www.5itest.cn/register'
        cls.driver = webdriver.Chrome()
        cls.driver.get(cls.register_url)
        cls.driver.maximize_window()
        cls.rb = RegisterBusiness(cls.driver)
        cls.file_name = os.path.join(os.path.pardir + "/Image/" + "test_captcha.png")
        print('所有case执行的前置条件')

    # 所有case执行之后的后置条件
    @classmethod
    def tearDownClass(cls):
        cls.driver.close()
        print('所有case执行的后置条件')
    '''

    # 每一条case执行之前的前置条件
    def setUp(self):
        self.register_url = 'http://www.5itest.cn/register'
        self.driver = webdriver.Chrome()
        self.driver.get(self.register_url)
        self.driver.maximize_window()
        self.rb = RegisterBusiness(self.driver)
        #self.file_name = os.path.join(os.path.pardir + "/Image/" + "test_captcha.png")
        # print('每一条case执行前的前置条件')

    # 每一条case执行之后的后置条件
    def tearDown(self):
        # print('每一条case执行之后的后置条件')
        time.sleep(2)
        # case执行失败进行截图
        for method_name, error in self._outcome.errors:
            if error:
                # 获取当前执行的case名字
                case_name = self._testMethodName
                # 设置失败截图存储路径
                file_path = os.path.join(os.path.pardir + "/report/" +
                                         case_name + ".png")
                self.driver.save_screenshot(file_path)
        self.driver.close()

    '''
    @ddt.data(
        ['test01', 'test01', 'test01abc', self.file_name,
         'register_email_error', '请输入有效的电子邮件地址'],
        ['*****@*****.**', '', 'test02abc', self.file_name,
         'register_nickname_error', '字符长度必须大于等于4,一个中文字算2个字符']

    )
    @ddt.unpack
    '''

    @ddt.data(*data)
    # 邮箱错误用例,判断用例是否执行成功
    def test_register_case(self, data):
        email, username, password, file_name, assertCode, assertText = data
        register_email_error = self.rb.register_function(
            email, username, password, file_name, assertCode, assertText)
        self.assertTrue(register_email_error, "账号注册成功,该用例执行失败")
Exemplo n.º 29
0
class FirstDdtCase(unittest.TestCase):
    ex = ExcelUtil()
    data = ex.get_data()

    # 某一条case的前置条件, 装饰漆
    code_file = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/code.png"

    @classmethod
    def setUpClass(cls):
        # cls.code_file = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/code.png"
        print("所有case执行之前的前置")

    @classmethod
    def tearDownClass(cls):
        print("所有case执行之后的后置")

    def setUp(self):
        print("每条case执行之前")
        self.file_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_code_%s.png" % (
            time.time())
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()
        self.register = RegisterBusiness(self.driver)
        # self.register_function = RegisterFunction(self.driver, self.file_path)
        self.register_code = GetCode(self.driver, self.file_path)

    def tearDown(self):
        print("每条case执行之后")
        # py2看case有没有异常
        # if sys.exc_info()[0]:
        #     self.driver.save_screenshot()
        # py3中使用_outcome.errors, self._outcome.errors结果是一个list
        print(self._outcome.errors)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_%s_%s.png" % (
                    case_name, time.time())
                self.driver.save_screenshot(error_path)

        self.driver.close()

    # @ddt.data(
    #     ['email', 'user11188', '111111', code_file, "register_email_error", "请输入有效的电子邮件地址"],
    #     ['email@', 'user11188', '111111', code_file, "register_email_error", "请输入有效的电子邮件地址"],
    #     ['*****@*****.**', 'user1188', '911111', code_file, "register_email_error", "请输入有效的电子邮件地址"]
    #
    # )
    # @ddt.unpack
    # case名称尽量见名知意
    # def test_register_error(self, email, username, password, code_file, assert_code, assert_text):
    #     # 此方法应该封装在handle中
    #     # if not self.register.login_email_error('email', 'user11188', '111111', 'test1'):
    #     #     error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_email_error_%s.png" % (time.time())
    #     #     self.driver.save_screenshot(error_path)
    #     # AssertionError 通过assert判断是否为error
    #     email_error = self.register.register_function(email, username, password, code_file, assert_code, assert_text)
    #     self.assertTrue(email_error, "邮箱用例")

    @ddt.data(*data)
    def test_register_error(self, data):
        email, username, password, code, assert_code, assert_text = data
        # 此方法应该封装在handle中
        # if not self.register.login_email_error('email', 'user11188', '111111', 'test1'):
        #     error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_email_error_%s.png" % (time.time())
        #     self.driver.save_screenshot(error_path)
        # AssertionError 通过assert判断是否为error
        email_error = self.register.register_function(email, username,
                                                      password, self.code_file,
                                                      assert_code, assert_text)
        self.assertTrue(email_error, "邮箱用例")