Esempio n. 1
0
class MyTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    @classmethod
    def setUpClass(self):
        self.logger = Log()
        self.logger.info(
            '######################## This App Cases Start #########################'
        )
        self.dr = pyselenium.PySelenium(globalparam.browser)
        self.dr.set_window(1400, 900)
        loginpage = viploginPage.viploginPage(self.dr)
        loginpage.into_login_page()
        loginpage.input_username(globalparam.user)
        loginpage.input_password(globalparam.passwd)
        loginpage.click_login_button()
        sleep(3)
        # self.assertIn(u'今目标', self.dr.get_title(), msg='Error!')

    @classmethod
    def tearDownClass(self):
        self.logger = Log()
        self.dr = pyselenium.PySelenium(globalparam.browser)
        print('\n')
        self.dr.quit()
        self.logger.info(
            '######################## This App Cases End ###########################'
        )
Esempio n. 2
0
File: mytest.py Progetto: ganlp/JUST
class MyTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    def setUp(self):
        self.logger = Log()
        self.logger.info(
            '############################### START ###############################'
        )
        #self.dr = pyselenium.PySelenium(globalparam.browser,'127.0.0.1:8080')
        self.dr = pyselenium.PySelenium(globalparam.browser)
        self.dr.open(globalparam.server_addr)
        self.dr.wait(5)
        sleep(2)
        self.dr.max_window()
        self.dr.wait(10)

    def login_with_cookie(self):
        with open(globalparam.cookie_path_userweb, 'r') as f:
            cookie = f.read()

    #   self.dr.origin_driver.delete_all_cookies()
        cookie = eval(cookie)
        for c in cookie:
            self.dr.origin_driver.add_cookie(c)
        self.dr.origin_driver.refresh()
        self.dr.wait(10)

    def tearDown(self):
        self.dr.quit()
        self.logger.info(
            '###############################  End  ###############################'
        )
Esempio n. 3
0
class MyTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    def setUp(self):
        self.logger = Log()
        self.logger.info('############################### START ###############################')
        self.dr = pyselenium.PySelenium(globalparam.browser)
        self.dr.max_window()

    def tearDown(self):
        self.dr.quit()
        self.logger.info('###############################  End  ###############################')
Esempio n. 4
0
class ConfRelevance:
    # 关联文件读取配置
    def __init__(self, _path, title):
        self.log = Log()
        self.log.info("初始化关联文件")
        config = configparser.ConfigParser()
        config.read(_path, encoding="utf-8")
        self.host = config[title]

    def get_relevance_conf(self):
        relevance = dict()
        self.log.debug("读取初始关联文件内容:   %s" % self.host.items())
        for key, value in self.host.items():
            relevance[key] = value
        return relevance
Esempio n. 5
0
class MyTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    def setUp(self):
        self.logger = Log()
        self.logger.info(
            '############################### START ###############################'
        )
        browser = ReadConfig().read_config("./config/config.conf", "BROWSER",
                                           "browser")
        self.dr = Browser(browser).driver()
        self.dr.maximize_window()

    def tearDown(self):
        self.dr.quit()
        self.logger.info(
            '###############################  End  ###############################'
        )
class TestRepositoryDetail(mytest.MyTest):
    """测试一个repository的详情页面的功能"""
    def test_01_into_setting_page(self):
        """vx.x-003 验证进入一个已经存在名为testlzr的repository详情页面"""
        self.logger = Log()
        self.logger.info('----开始测试repository详情页面功能----')
        gh = repositoryDetailPage.repositoryDetailPage(self.dr)
        gh.into_RepositoryPage_page()
        self.imgs.append(self.dr.origin_driver.get_screenshot_as_base64())
        self.assertIn('testlzr',self.dr.get_text('css->#js-repo-pjax-container > div.pagehead.repohead.instapaper_ignore.readability-menu.experiment-repo-nav > div > h1'))

    def test_02_delete_repository(self):
        """vx.x 删除名称为testlzr的repository"""
        gh = repositoryDetailPage.repositoryDetailPage(self.dr)
        gh.into_settingPage_name()
        gh.click_deleteRepostory_button()
        gh.input_deleteRepository_name("testlzr")
        gh.click_confirmDelete_Button()
        self.imgs.append(self.dr.origin_driver.get_screenshot_as_base64())
        self.assertIn('Discover interesting projects',self.dr.get_text('css->#dashboard > div > div.Box.p-5.mt-3 > h2'))
Esempio n. 7
0
class TestMyRepostory(mytest.MyTest):
    """我的repository"""
    def test_01_go_newRepostory_page(self):
        """vx.x-001 验证进入新建repository页面"""
        self.logger = Log()
        self.logger.info('----开始测试myRepository页面部分功能----')
        gh = createNewRepositoryPage.createNewRepositoryPage(self.dr)
        gh.click_newRepository_button()
        self.imgs.append(self.dr.origin_driver.get_screenshot_as_base64())
        self.assertEqual('Create a New Repository',self.dr.get_title())

    def test_02_create_repository(self):
        """vx.x-002 新建名称为testlzr的repository"""
        gh = createNewRepositoryPage.createNewRepositoryPage(self.dr)
        gh.input_repository_name("testlzr")
        gh.inpit_repository_description("Testing to create a repository")
        gh.select_visibility_private()
        gh.click_CreateRepository_button()
        self.imgs.append(self.dr.origin_driver.get_screenshot_as_base64())
        self.assertTrue('css->#js-repo-pjax-container > div.pagehead.repohead.instapaper_ignore.readability-menu.experiment-repo-nav > nav')
Esempio n. 8
0
class MyTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    @classmethod
    def setUpClass(self):
        self.logger = Log()
        self.logger.info('################################################ This App Cases Start ################################################')
        self.imgs = []  # (可选)初始化截图列表
        self.dr = pyselenium.PySelenium(globalparam.browser)
        self.dr.max_window()
        loginpage = loginPage.loginPage(self.dr)
        loginpage.into_login_page()
        loginpage.input_username(globalparam.user)
        loginpage.input_password(globalparam.passwd)
        loginpage.click_login_button()
        sleep(3)
        self.logger.info('成功登录' + self.dr.get_title())

    @classmethod
    def tearDownClass(self):
        self.logger = Log()
        #self.dr = pyselenium.PySelenium(globalparam.browser)
        # print('\n')
        self.dr.quit()
        self.logger.info('################################################ This App Cases End ################################################')
Esempio n. 9
0
class MyMobileTest(unittest.TestCase):
    """
    The base class is for all mobile testcase.
    """
    def setUp(self):
        startTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        self.logger = Log(self._testMethodName)
        self.logger.info(
            '############################### START ###############################'
        )
        self.logger.info("测试用例开始执行:" + self._testMethodName + "  " + startTime)
        self.dr = MobileSelenium(globalparam.browser_mobile, self.logger)
        sleep(2)
        self.dr.max_window()
        # self.dr.driver.set_window_size(1200, 900)

    def tearDown(self):
        self.dr.print_img()
        self.logger.info("测试用例执行结束:" + self._testMethodName)
        self.logger.info(
            '###############################  End  ###############################'
        )
        self.dr.quit()
Esempio n. 10
0
class MyTest(unittest.TestCase):
    """
    The base class is for all pc testcase.
    """
    def setUp(self):
        startTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        self.logger = Log(self._testMethodName)
        self.logger.info(
            '############################### START ###############################'
        )
        self.logger.info("测试用例开始执行:" + self._testMethodName + "  " + startTime)
        self.dr = PySelenium(globalparam.browser, self.logger)
        sleep(2)
        self.dr.max_window()

    def tearDown(self):
        publicfunction.get_img(
            self.dr,
            strftime('%Y-%m-%d_%H_%M_%S') + "_用例执行结束" + ".jpg")
        self.logger.info("测试用例执行结束:" + self._testMethodName)
        self.logger.info(
            '###############################  End  ###############################'
        )
        self.dr.quit()
Esempio n. 11
0
class MyLoginedTest(unittest.TestCase):
    """
    The base class is for all testcase.
    """
    def setUp(self):
        self.logger = Log()
        self.logger.info('############################### START ###############################')
        self.dr = pyselenium.PySelenium(globalparam.browser)
        self.dr.max_window()
        self.dr.open(config.url)
        self.logger.info('打开{}'.format(config.url))
        u_index = UtomarketIndexPage.IndexPage(self.dr)
        u_login = u_index.click_login_btn()
        u_login.login(config.username, '3201')

    def tearDown(self):
        self.dr.quit()
        self.logger.info('###############################  End  ###############################')
Esempio n. 12
0
 def __init__(self):
     log = Log()
     log.info("获取环境配置信息")
     # 读取配置文件,返回字典格式
     self.data = ConfRelevance(CONF_PATH, "env").get_relevance_conf()
Esempio n. 13
0
class AddChanPing(unittest.TestCase):
    '''添加产品'''

    def setUp(self):
        self.driver = webdriver.Chrome()
        # 获取xml元素对象
        logins = root.getElementsByTagName('url')
        self.base_url = logins[0].firstChild.data
        self.driver.implicitly_wait(30)  # 智能等待时间
        self.logger = Log()
        self.logger.info("################# START ##############")
        self.driver.maximize_window()
        self.verificationErrors = []  # 错误日志收集

    def test_addchanping(self):
        driver = self.driver
        driver.get(self.base_url)

        # 调用登录函数
        loginPage.test_login(self, "admin", "admin1234")
        sleep(3)

        # 点击产品
        driver.find_element_by_link_text("产品").click()
        log.info("点击按钮:link_text=产品")

        """
        try:
            adb = driver.find_element_by_xpath("//*[@id='block11']/div[1]/nav/li[1]/a").text
            if adb == ' 添加产品':
                driver.find_element_by_xpath("//*[@id='block11']/div[1]/nav/li[1]/a").click()
            else:
                print("呵呵")
        except:
            print("叫爸爸")
        
        try:
            driver.find_element_by_xpath("//*[@id='block11']/div[1]/nav/li[1]/a")
            a = True
            if a == True:
                print("哈哈,我是真的")
            else:
                print("哈哈,我是假的")
        except:
            time.sleep(1)
         """
        # 点击添加产品下拉框选择点击产品(抛异常)
        try:
            tianjiachanping=driver.find_element_by_link_text("添加产品").text

            if tianjiachanping=="添加产品":
                driver.find_element_by_link_text("添加产品").click()
                log.info("下拉框:class_name=btn-group")
            else:
                print("此元素不叫添加产品")
        except:
            log.info("此元素不存在")

        # 获取当前时间用于参数设置
        now_time = time.strftime("%H-%M-%S")
        print(now_time)

        # 输入产品名称(判断产品名称输入框是否存在)
        try:
            driver.find_element_by_id("name")
            b=True
            if b==True:
                driver.find_element_by_id("name").clear()
                driver.find_element_by_id("name").send_keys(u"禅道项目" + now_time)
                text = "禅道项目" + now_time
                print(text)
                log.info("输入产品名称:禅道项目")
            else:
                log.info("找不到产品名称输入框")
        except:
            log.info("产品名称元素不存在")


        # 输入产品代号(循环)
        k=1
        while k<100:
            k=k+1
            if now_time==20-54-20:
                driver.find_element_by_id("code").clear()
                driver.find_element_by_id("code").send_keys(now_time)
                log.info("产品代号:now_time")
            else:
                log.info("产品代号不符合要求")

        # 选择产品线
        driver.find_element_by_xpath("//*[@id='line_chosen']/a/div[1]").click()
        time.sleep(1)
        driver.find_element_by_xpath("//*[@id='line_chosen']/div/ul/li[2]").click()

        """ 键盘操作
        driver.find_element_by_xpath("//*[@id='line_chosen']/a/div[1]").click()
        time.sleep(1)
        driver.find_element_by_xpath("//*[@id='line_chosen']/a/span").send_keys(Keys.DOWN)
        time.sleep(1)
        driver.find_element_by_xpath("//*[@id='line_chosen']/a/span").send_keys(Keys.ENTER)
        """

        log.info("产品线:id=line")

        # 选择产品类型
        sel = driver.find_element_by_id("type")
        Select(sel).select_by_value("branch")
        log.info("选择产品类型:id=type")


        # 产品描述
        xf = driver.find_element_by_css_selector(".ke-edit-iframe")  # iframe没有id和name,使用css元素赋值然后访问
        driver.switch_to.frame(xf)
        driver.find_element_by_class_name("article-content").send_keys("测试")
        log.info("产品描述输入:测试")
        sleep(5)

        # 从frame中切回主文档中
        driver.switch_to.default_content()
        sleep(1)

        # 将滚动条拖到最底部
        js = "var action=document.documentElement.scrollTop=10000"
        driver.execute_script(js)
        sleep(2)

        # 访问控制
        driver.find_element_by_id("aclprivate").click()
        log.info("访问控制:id=aclprivate")

        # 点击保存
        driver.find_element_by_id("submit").click()
        log.info("点击保存按钮:id=submit")
        time.sleep(2)

        # 获取浏览器弹出保存成功的提示信息
        prompt = Alert(driver)
        print('prompt text : ' + prompt.text)

        #######获取断言信息进行断言#######

        self.assertEqual(prompt.text, u"保存成功")

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)