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)
def setup_function(function): driverFac = DriverFactory() global driver driver = driverFac.createAndOpenChrome() loginAsGuest(driver) mainPage = MainPage(driver) (mainPage.pythonBtn()).click()
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_())
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)
def __init__(self, httpSession, agent, error, netconfReply, info): netconfSession = httpSession.getNetconf(agent) if netconfSession != None: httpSession.closeNetconfSession(netconfSession) MainPage.__init__(self, httpSession, agent, error, netconfReply, info)
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)
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)
def test_ClickOnPythonMoveToNextPage(): global driver mainPage = MainPage(driver) (mainPage.pythonBtn()).click() numberOfQuestions = ChooseNumberPage(driver) numberOfQuestionsHeader = (numberOfQuestions.Header()).text assert numberOfQuestionsHeader == "Python"
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()
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()
def waitAndClosePopup(self): mainPage = MainPage(self.driver) try: self.wait10sec.until(lambda _: len(mainPage.getClosePopupLinks()) > 0) for link in mainPage.getClosePopupLinks(): logging.info("Popup was closed") link.click() time.sleep(1) except: logging.info("Popup was not found")
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()
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()
def test_load_variable1(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) main_page.load_file("clt.nc")
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()
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小胖妞')
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())
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)
class ActiveLoad(tk.Tk): 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()) # def show_frame(self, container): # frame = self.frames[container] # frame.tkraise() def serial_ports(self): """ Lists serial port names :raises EnvironmentError: On unsupported or unknown platforms :returns: A list of the serial ports available on the system""" if sys.platform.startswith('win'): ports = ['COM%s' % (i + 1) for i in range(256)] elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'): # this excludes your current terminal "/dev/tty" ports = glob.glob('/dev/tty[A-Za-z]*') elif sys.platform.startswith('darwin'): ports = glob.glob('/dev/tty.*') else: raise EnvironmentError('Unsupported platform') result = [] for port in ports: try: s = serial.Serial(port) s.close() result.append(port) except (OSError, serial.SerialException): pass return result
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 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
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())
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
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)
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)
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())
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!!!')
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="用户名或密码错误")
def build(self): Config.set('graphics', 'width', '1500') Config.set('graphics', 'height', '1000') return MainPage()
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)"
class BaseTestCase(unittest.TestCase): ''' Following env variable should be set: BROWSER_MODE: '--foreground' or '--headless' BROWSER_TYPE: 'chrome' or 'firefox' BROWSER_DRIVER: full path to your browser driver (chromedriver or geckodriver) If running with firefox on Linux, should also set: BROWSER_BINARY: full path to your firefox binary ''' _delay = 1 _wait_timeout = 15 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) def tearDown(self): print("...BaseTestCase.tearDown()...") self.main_page.shutdown_kernel() self.driver.quit() def setup_for_chrome(self, mode): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument(mode) chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("window-size=1200x600") self.driver = webdriver.Chrome( executable_path=os.getenv("BROWSER_DRIVER", "/usr/local/bin/chromedriver"), chrome_options=chrome_options, service_args=['--verbose', '--log-path=/tmp/chromedriver.log']) self.driver.implicitly_wait(10) def setup_for_firefox(self, mode): firefox_profile = FirefoxProfile() firefox_profile.set_preference('dom.disable_open_during_load', False) firefox_capabilities = DesiredCapabilities().FIREFOX firefox_capabilities['marionette'] = True firefox_capabilities['moz:firefoxOptions'] = {'args': ['--headless']} firefox_binary = FirefoxBinary( os.getenv("BROWSER_BINARY", "/usr/bin/firefox")) geckodriver_loc = os.getenv("BROWSER_DRIVER", "/usr/local/bin/geckodriver") self.driver = webdriver.Firefox(firefox_profile=firefox_profile, firefox_binary=firefox_binary, executable_path=geckodriver_loc, capabilities=firefox_capabilities) self.driver.implicitly_wait(10) # # Test Util functions # def new_notebook(self, launcher, notebook_name): notebook = NoteBookPage(self.driver, None) notebook.new_notebook(launcher, notebook_name) return notebook def save_close_notebook(self, notebook): ''' save and close current notebook ''' notebook.save_current_notebook() notebook.close_current_notebook()
def test_main(self): self.driver.get("http://fix-inside.tensor.ru") self.log.info("Loading login page.") time.sleep(5) self.assertEqual("Вход в систему/СБИС", self.driver.title) logPage = LoginPage(self.driver) logPage.getLoginField().send_keys("check_rigth_user") logPage.getPasswordInput().send_keys("qwerty123") logPage.getloginButton().click() self.log.info("Login process was started") time.sleep(5) self.assertEqual("СБИС", self.driver.title) self.log.info("Login was successful") self.waitAndClosePopup() mainPage = MainPage(self.driver) self.forceClick(mainPage.getstaffLink()) time.sleep(5) self.forceClick(mainPage.getstaffLink()) time.sleep(20) # на моём ноутбуке страница грузится очень долго self.assertEqual("Сотрудники/СБИС", self.driver.title) self.log.info("Staff page was opened") staffPage = StaffPage(self.driver) link = staffPage.getorgLink() firstName = link.text staffPage.getorgLink().click() time.sleep(5) self.assertEqual(staffPage.isOrgFormVisible(), True) self.log.info("Organizations list was opened") staffPage.getchangeOrg().click() time.sleep(5) secondName = staffPage.getorgLink().text self.assertNotEqual(firstName, secondName) self.log.info("Link name was changed") staffPage.getsearchField().send_keys("Белова Олеся Александровна") time.sleep(5) self.assertIn("Белова Олеся", staffPage.getemployeeResult().text) self.log.info("Employee was found") staffPage.getemployeeResult().click() time.sleep(10) self.assertEqual(staffPage.isEmployeeCardVisible(), True) self.log.info("Employee card was opened") staffPage.getcloseCardButton().click() time.sleep(5) self.assertEqual(staffPage.isEmployeeCardVisible(), False) self.log.info("Employee card was closed") staffPage.getuserNameLink().click() time.sleep(5) self.assertEqual(staffPage.isUserMenuVisible(), True) self.log.info("User menu was opened") staffPage.getlogOutLink().click() time.sleep(5) self.assertEqual("Вход в систему/СБИС", self.driver.title) self.log.info("Logout was successful") time.sleep(10)