예제 #1
0
    def test_http_download_with_external_idp_authentication(self):

        print("...test_http_download_with_external_idp_authentication...")
        idp_server = self._get_idp_server()
        user, password = self._get_test_user_credentials()
        print("xxx idp_server: {i}".format(i=idp_server))
        ret_code, file_to_restore = self._utils.update_esgf_policies_common('cmip5', idp_server)

        main_page = MainPage(self.driver, idp_server)
        main_page.load_page(idp_server, "thredds")
        time.sleep(10)
        thredds_page = ThreddsPage(self.driver, idp_server)
        download_dir = self._get_download_dir()

        #
        # assumption: this ext_idp_server has same test user and password
        #
        ext_idp_server = "esgf-node.llnl.gov"
        file_name = thredds_page._select_download_type('http')
        self._do_login(ext_idp_server, user, password)
        # sleep for a bit to allow time for download to complete
        time.sleep(30)        
        ret_code = self._utils.restore_esgf_policies_common(file_to_restore, idp_server)
        assert os.path.isfile(os.path.join(download_dir, file_name))
        time.sleep(self._delay)
예제 #2
0
    def setUp(self):
        self._download_dir = tempfile.mkdtemp()
        browser = os.getenv("BROWSER_TYPE", 'chrome')
        mode = os.getenv("BROWSER_MODE", '--headless')
        print("...browser: {b}".format(b=browser))
        print("...mode: {m}".format(m=mode))

        if mode == "--headless" and os.getenv("CIRCLECI"):
            print("...starting display since we are running in headless mode")
            display = Display(visible=0, size=(800, 600))
            display.start()

        if browser == 'chrome':
            self.setup_for_chrome(mode)
        elif browser == 'firefox':
            self.setup_for_firefox(mode)

        self.driver.implicitly_wait(self._wait_timeout)
        time.sleep(self._delay)

        utils = JupyterUtils()
        self.server = utils.get_server()
        self.main_page = MainPage(self.driver, self.server)
        self.left_side_bar = VcdatLeftSideBar(self.driver, None)
        self.file_browser = FileBrowser(self.driver, None)
        self.click_on_file_browser_home()

        self._test_notebook_file = "{t}.ipynb".format(t=self._testMethodName)
        self.notebook_page = NoteBookPage(self.driver, None)
        self.notebook_page.rename_notebook(self._test_notebook_file)
예제 #3
0
    def test_http_download_user_has_no_access(self):
        '''
        Test restricted access, have the following in esgf_policies_common.xml:
        <policy resource=".*test.*" attribute_type="wheel" attribute_value="super" action="Read"/>

        download data as test user and expect 'Group Registration Request' message
        '''
        print("...test_http_download_user_has_no_access...")
        idp_server = self._get_idp_server()
        main_page = MainPage(self.driver, idp_server)
        user, password = self._get_test_user_credentials()
        ret_code, file_to_restore = self._utils.update_esgf_policies_common('restricted', idp_server)

        print("...loading thredds page...")
        main_page.load_page(idp_server, "thredds")
        thredds_page = ThreddsPage(self.driver, idp_server)
        download_dir = self._get_download_dir()

        printf("...select_download_type..http")
        file_name = thredds_page._select_download_type('http')
        self._do_login(idp_server, user, password)

        ret_code = self._utils.restore_esgf_policies_common(file_to_restore, idp_server)

        assert self.driver.find_element_by_xpath(self._group_registration_request_locator)
        time.sleep(self._delay)
예제 #4
0
 def test_phone_categories(self):
     driver = self.driver
     driver.get("http://demoblaze.com/index.html")
     main_page = MainPage(driver)
     main_page.click_on_phones_in_categories()
     main_page.click_on_Iphone()
     self.assertTrue(main_page.is_price_in_iphone_present())
예제 #5
0
    def __init__(self, parent=None):
        super(Login, self).__init__(parent)
        self.resize(210, 160)
        self.setWindowTitle('登录')

        # self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)

        ###### 设置界面控件
        self.frame = QFrame(self)
        self.verticalLayout = QVBoxLayout(self.frame)

        self.lineEdit_account = QLineEdit()
        self.lineEdit_account.setPlaceholderText("请输入账号")
        self.verticalLayout.addWidget(self.lineEdit_account)

        self.lineEdit_password = QLineEdit()
        self.lineEdit_password.setPlaceholderText("请输入密码")
        self.verticalLayout.addWidget(self.lineEdit_password)

        self.pushButton_enter = QPushButton()
        self.pushButton_enter.setText("确定")
        self.verticalLayout.addWidget(self.pushButton_enter)

        self.pushButton_quit = QPushButton()
        self.pushButton_quit.setText("取消")
        self.verticalLayout.addWidget(self.pushButton_quit)

        self.pushButton_enter.clicked.connect(self.on_pushbutton_enter_clicked)
        self.pushButton_quit.clicked.connect(QCoreApplication.instance().quit)

        if Login.exec_(self) == QDialog.Accepted:
            mainpage = MainPage()
            mainpage.show()
            sys.exit(app.exec_())
예제 #6
0
def test_ClickOnPythonMoveToNextPage():
    global driver
    mainPage = MainPage(driver)
    (mainPage.pythonBtn()).click()
    numberOfQuestions = ChooseNumberPage(driver)
    numberOfQuestionsHeader = (numberOfQuestions.Header()).text
    assert numberOfQuestionsHeader == "Python"
예제 #7
0
    def test_http_download_user_as_rootAdmin(self):
        '''
        Test restricted access, have the following in esgf_policies_common.xml:
        <policy resource=".*test.*" attribute_type="wheel" attribute_value="super" action="Read"/>

        download data as test user and expect 'Group Registration Request' message
        '''
        print("...test_http_download_user_as_rootAdmin...")
        idp_server = self._get_idp_server()
        user, password = self._get_admin_credentials()
        ret_code, file_to_restore = self._utils.update_esgf_policies_common('restricted', idp_server)

        main_page = MainPage(self.driver, idp_server)
        main_page.load_page(idp_server, "thredds")
        thredds_page = ThreddsPage(self.driver, idp_server)
        download_dir = self._get_download_dir()

        file_name = thredds_page._select_download_type('http')
        print("xxx downloaded file: {f}".format(f=os.path.join(download_dir, file_name)))
        self._do_login(idp_server, user, password)
        # sleep for a bit to allow time for download to complete
        time.sleep(10)

        ret_code = self._utils.restore_esgf_policies_common(file_to_restore, idp_server)
        print("xxx downloaded file: {f}".format(f=os.path.join(download_dir, file_name)))
        assert os.path.isfile(os.path.join(download_dir, file_name))
        time.sleep(self._delay)
예제 #8
0
    def __init__(self, *args, **kwargs):
        tkinter.Tk.__init__(self, *args, **kwargs)

        tkinter.Tk.wm_title(self, 'Scheduling')
        tkinter.Tk.geometry(self, '740x600')

        container = tkinter.Frame(self)
        container.pack(side="top", fill="both", expand=True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}

        self.frames[MainPage] = MainPage(container, self)
        self.frames[MainPage].grid(row=0, column=0, sticky='nsew')

        self.frames[Test] = Test(container, self)
        self.frames[Test].grid(row=0, column=0, sticky='nsew')

        self.frames[ResearchOneDueDate] = ResearchOneDueDate(container, self)
        self.frames[ResearchOneDueDate].grid(row=0, column=0, sticky='nsew')

        self.frames[ResearchTwoDueDates] = ResearchTwoDueDates(container, self)
        self.frames[ResearchTwoDueDates].grid(row=0, column=0, sticky='nsew')

        for _, frame in self.frames.items():
            frame.configure(bg='white')

        self.frames[MainPage].tkraise()
예제 #9
0
def setup_function(function):
    driverFac = DriverFactory()
    global driver
    driver = driverFac.createAndOpenChrome()
    loginAsGuest(driver)
    mainPage = MainPage(driver)
    (mainPage.pythonBtn()).click()
예제 #10
0
 def test02(self):
     MainPage(self.driver).go_to_login()
     time.sleep(3)
     LoginPage(self.driver).login1()
     time.sleep(5)
     self.assertEqual(
         login_success_page(self.driver).get_text('id', 'tvNick'),
         u'可爱de小胖妞')
예제 #11
0
 def login(self):
     name = self.username.get()
     pwd = self.password.get()
     flag, message = db.check_login(name, pwd)
     if flag:
         self.page.destroy()
         MainPage(self.root)
     else:
         messagebox.showwarning(title='警告', message=message)
예제 #12
0
    def ABCtest_basic(self):
        print("xxx test_vcdat_jupyter_lab xxx")
        utils = JupyterUtils()
        server = utils.get_server()

        ##ws = "http://localhost:8888/?token=4a25c7eb4ac7042da403eecbac6691a51132543b95b4e613"
        #ws = "http://www.google.com"
        #ws = "http://localhost:8888"
        main_page = MainPage(self.driver, server)
 def test_adicionar_orcamento_sem_valor(self):
     main_page = MainPage(self.driver)
     main_page.click_budgets()
     budget_page = BudetPage(self.driver)
     budget_page.click_add()
     add_page = AddBudgetPage(self.driver)
     add_page.enter_budget_type(self.BUDGET_TYPE)
     add_page.click_save_button()
     assert self.ERROR_BUDGET_VALUE in add_page.get_error()
예제 #14
0
    def test_case1(self):
        try:
            main_page = MainPage(self.driver)
            main_page.to_cart_prod3(2)
            product1_page = main_page.goto_product1_page()

            product1_page.add_to_cart(5)
            cart_page = product1_page.goto_cart_page()

            checkout_page = cart_page.goto_checkout()

            checkout_page.guest_step1_mark_guest()
            checkout_page.guest_step1_continue()

            checkout_page.guest_step2_fill_form({
                "Name": "name",
                "Last_name": "lastname",
                "E_Mail": "*****@*****.**",
                "Phone": "phonenum",
                "Company": "Compayny inc.",
                "Adress1": "AD1",
                "Adress2": "AD2",
                "City": "City",
                "Post_code": "Post code",
                "Country": "Peru",
                "State": "Lima"
            })
            checkout_page.guest_step2_is_shipping_billing_adr_change()
            checkout_page.guest_step2_continue()

            checkout_page.guest_step3_fill_form({
                "Name": "name2",
                "Last_name": "lastname2",
                "Company": "Compayny inc222.",
                "Adress1": "AD12",
                "Adress2": "AD22",
                "City": "City2",
                "Post_code": "Post code2",
                "Country": "Poland",
                "State": "Slaskie"
            })
            checkout_page.guest_step3_continue()

            checkout_page.guest_step4_add_comment("Comment sdfdsf")
            checkout_page.guest_step4_continue()

            checkout_page.guest_step5_add_comment("OTher comment")
            checkout_page.guest_step5_terms_and_cond_checkbox_click()
            checkout_page.guest_step5_continue()

            checkout_success_page = checkout_page.guest_step6_submit()

            main_page = checkout_success_page.goto_main_page()

        except:
            self.fail()
예제 #15
0
 def test_login_page(self):
     driver = self.driver
     driver.get("http://demoblaze.com/index.html")
     main_page = MainPage(driver)
     self.assertTrue(main_page.is_carousel_present())
     main_page.click_login_button()
     self.assertTrue(main_page.is_login_present())
     main_page.send_username_to_login_modal("JoeDoe")
     main_page.send_username_to_password_modal("superPassword1")
     main_page.click_login_button_on_modal()
 def test_adicionar_orcamento_sem_nome(self):
     main_page = MainPage(self.driver)
     main_page.click_budgets()
     budget_page = BudetPage(self.driver)
     budget_page.click_add()
     add_page = AddBudgetPage(self.driver)
     add_page.click_budget_value(self.driver)
     add_page.enter_budget_value("500")
     add_page.click_save_button()
     assert "Budget value is empty" in add_page.get_error()
예제 #17
0
    def setUpClass(self):
        # Launch UI
        self.app = QApplication(sys.argv)
        self.form = MainPage.MainPage()

        # Global stub of previewTextEdit as it can't be mocked, since it
        # is created at runtime by setupUi
        preview_stub = MagicMock(name='previewTextEdit')
        preview_stub.toPlainText.return_value = 'AssetLibPath: test\nUnity Path: test\nName: test'
        self.form.createAssetPage.previewTextEdit = preview_stub
 def test_adicionar_orcamento_valido(self):
     main_page = MainPage(self.driver)
     main_page.click_budgets()
     budget_page = BudetPage(self.driver)
     budget_page.click_add()
     add_page = AddBudgetPage(self.driver)
     add_page.enter_budget_type(self.BUDGET_TYPE)
     add_page.enter_budget_value(self.BUDGET_VALUE)
     add_page.click_save_button()
     #budget_page = BudetPage(self.driver)
     assert self.BUDGET_TYPE in budget_page.get_first_budget()
예제 #19
0
 def test_contact_modal(self):
     driver = self.driver
     driver.get("http://demoblaze.com/index.html")
     main_page = MainPage(driver)
     self.assertTrue(main_page.is_carousel_present())
     main_page.click_contact_button()
     main_page.send_user_to_contact_email("*****@*****.**")
     main_page.send_user_to_contact_name("Joe")
     main_page.send_user_to_message_window(
         "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lab ore et dolore magna aliqua."
     )
     main_page.click_send_message_button()
     main_page.handle_alert()
예제 #20
0
    def test_user_login(self):

        # get info from test config
        user, password = self._get_test_user_credentials()
        idp_server = self._get_idp_server()

        main_page = MainPage(self.driver, idp_server)

        main_page.do_login(user, password)
        # may need to REVISIT -- validate
        main_page.do_logout()
        print("xxx after do_logout()")
        time.sleep(4)
예제 #21
0
 def test_test_go_to_product_descripcion(self):
     driver = self.driver
     driver.get("https://www.demoblaze.com/")
     main_page = MainPage(driver)
     main_page.click_on_phones_in_categories()
     time.sleep(3)
     main_page.click_on_Iphone()
     product_description = ProductDescription(driver)
     product_description.add_Iphone_to_cart()
     time.sleep(3)
     product_description.handle_alert()
     product_description.go_to_cart()
     self.assertTrue(product_description.is_place_order_button_present())
예제 #22
0
 def chklogin(self):
     if self.user.get() and self.passwd.get():
         try:
             sql = "select * from userinfo where name='%s'" % self.user.get(
             )
             print(sql)
             self.mysql.runsql(sql)
             res = self.mysql.fechone()
             print("res:", res)
             if res:
                 if res[2] == self.passwd.get():
                     self.page.destroy()
                     MainPage(self.root, self.mysock)
                 else:
                     showinfo(title='错误', message='账号或密码错误!')
             else:
                 showinfo(title='错误', message='账号不存在')
         except:
             print('login fail!!!')
예제 #23
0
    def test1(self):
        """
        test sequence 1
        """

        # 1. Driver Initialization
        initialization_object = DriverInitialization
        driver = initialization_object.initialize_driver(
            "https://www.python.org/")

        # 2. Going to Downloads -> All Releases

        driver = MainPage(driver)
        driver.go_to_all_releases()

        # 3. Printing the last version of python
        driver = ReleasesPage(driver)
        driver.display_last_release
        return driver.driver
예제 #24
0
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        container = ttk.Frame(self)

        container.grid(row=0, column=0, sticky="NSEW")
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        #self.frames = {}
        self.frame = MainPage(container, self)
        #self.frames[MainPage] = frame

        self.frame.grid(row=0, column=0, sticky="nsew")
        self.frame.grid_rowconfigure(0, weight=0)
        self.frame.grid_columnconfigure(0, weight=0)

        self.frame.tkraise()

       #self.show_frame(MainPage)
        print(self.serial_ports())
예제 #25
0
 def login(self):
     '''登录
     '''
     name = self.entry_name.get()
     pwd = self.entry_pwd.get()
     if name == NAME and pwd == PWD:
         tkinter.messagebox.showinfo(title="恭喜", message="登录成功!")
         self.page.destroy()  # 销毁当前页面
         MainPage(self.root)  # 进入主界面
         if self.remember.get() == 1:
             # 把登录成功的信息写入临时文件
             with open(filename, 'w') as fp:
                 fp.write(','.join((name, pwd)))
         else:
             try:
                 # 删除用于记录用户名和密码的临时文件
                 os.remove(filename)
             except BaseException:
                 pass
     else:
         tkinter.messagebox.showerror("警告!", message="用户名或密码错误")
예제 #26
0
    def test2(self):
        """
        test sequence 1
         """
        # 1. driver initialization and opening Chrome Browser
        initialization_object = DriverInitialization
        driver = initialization_object.initialize_driver(
            "https://www.python.org/")

        # 2. Search bar
        main_page_driver = MainPage(driver)
        main_page_driver.use_search_bar()

        # 3. Open first result link
        search_page_driver = SearchPage(main_page_driver.driver)
        search_page_driver.click_on_first_result()

        # 4. Select Examples
        decorator_page_driver = DecoratorsPage(search_page_driver.driver)
        decorator_page_driver.select_examples()
        # 5. Verify current example count is 5
        decorator_page_driver.verify_examples_count()

        return decorator_page_driver
예제 #27
0
    def setUp(self):
        print("\n\n#########...{}...".format(self._testMethodName))
        self._download_dir = tempfile.mkdtemp()
        browser = os.getenv("BROWSER_TYPE", 'chrome')
        mode = os.getenv("BROWSER_MODE", '--headless')
        print("...browser: {b}".format(b=browser))
        print("...mode: {m}".format(m=mode))

        if mode == "--headless" and os.getenv("CIRCLECI"):
            print("...starting display since we are running in headless mode")
            display = Display(visible=0, size=(800, 600))
            display.start()

        if browser == 'chrome':
            self.setup_for_chrome(mode)
        elif browser == 'firefox':
            self.setup_for_firefox(mode)

        self.driver.implicitly_wait(self._wait_timeout)
        time.sleep(self._delay)

        utils = JupyterUtils()
        self.server = utils.get_server()
        self.main_page = MainPage(self.driver, self.server)
예제 #28
0
    def build(self):

        Config.set('graphics', 'width', '1500')
        Config.set('graphics', 'height', '1000')
        return MainPage()
예제 #29
0
def test_CheckBtnColor():
    global driver
    mainPage = MainPage(driver)
    btn = mainPage.pythonBtn()
    color = btn.value_of_css_property("background-color")
    assert color == "rgba(125, 180, 216, 1)"
예제 #30
0
class TestClickingLogIn(unittest.TestCase):
    driver = webdriver.Firefox()
    driver.get("http://testpages.herokuapp.com/styled/index.html")
    mainpage = MainPage(driver)
    mainpage.click_login_button()
    mainpage.send_username_to_login_modal('aaa')