def test(self): if not self.canRun: return try: sel = self.selenium sel.open("/blogengine/") sel.click("ctl00_aLogin") sel.wait_for_page_to_load("30000") sel.type("ctl00_cphBody_Login1_UserName", "mono user") sel.type("ctl00_cphBody_Login1_Password", "mono") sel.click("ctl00_cphBody_Login1_LoginButton") sel.wait_for_page_to_load("30000") for i in range(60): try: if sel.is_element_present("//span[text()='Add entry']"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("//span[text()='Add entry']") sel.wait_for_page_to_load("30000") sel.type("ctl00_cphAdmin_txtTitle", "Mono Story 2") if not sel.is_checked("ctl00_cphAdmin_cbUseRaw"): sel.click("ctl00_cphAdmin_cbUseRaw") sel.wait_for_page_to_load("30000") sel.type("ctl00_cphAdmin_txtRawContent", "<p>This is a story by mono user<p>") sel.type( "ctl00_cphAdmin_txtRawContent", "<p>This is a story by mono user<p>\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer molestie justo a augue facilisis interdum. Sed sollicitudin lobortis dapibus. Suspendisse vitae urna urna, et posuere turpis! Nulla sed erat dui, eget interdum odio. Nullam id tortor et elit volutpat vulputate ac sit amet odio. Proin nisl est, pretium non dapibus id, vestibulum sed orci. Mauris lobortis diam eu mi pulvinar ut vehicula velit convallis. Quisque malesuada porttitor ante ut porta! Nunc magna ipsum, lobortis vitae luctus eu, varius et quam! Sed non metus imperdiet massa aliquam tristique sit amet auctor lacus. Maecenas sollicitudin varius aliquet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin non ipsum metus, vel elementum quam! Sed interdum metus pharetra elit accumsan sit amet semper purus auctor. Nunc eget dolor ac nibh molestie iaculis in at mi. Nunc velit nisl, venenatis at tempus id, adipiscing et ligula. Aliquam erat volutpat. Mauris eget commodo erat.</p>", ) cat_check_xpath = ( "//span[@id='ctl00_cphAdmin_cblCategories']/label[text()='Mono']/preceding-sibling::input[1]" ) if sel.is_element_present(cat_check_xpath) and not sel.is_checked(cat_check_xpath): sel.click(cat_check_xpath) else: mono.log("No category 'Mono' exists. Not setting a catagory.") sel.click("ctl00_cphAdmin_btnSave") sel.wait_for_page_to_load("30000") sel.click("link=Home") sel.wait_for_page_to_load("30000") sel.click("link=Mono Story 2") sel.wait_for_page_to_load("30000") self.failUnless(sel.is_text_present("This is a story by mono user")) self.failUnless( sel.is_text_present( "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer molestie justo a augue facilisis interdum. Sed sollicitudin lobortis dapibus. Suspendisse vitae urna urna, et posuere turpis! Nulla sed erat dui, eget interdum odio. Nullam id tortor et elit volutpat vulputate ac sit amet odio. Proin nisl est, pretium non dapibus id, vestibulum sed orci. Mauris lobortis diam eu mi pulvinar ut vehicula velit convallis. Quisque malesuada porttitor ante ut porta! Nunc magna ipsum, lobortis vitae luctus eu, varius et quam! Sed non metus imperdiet massa aliquam tristique sit amet auctor lacus. Maecenas sollicitudin varius aliquet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin non ipsum metus, vel elementum quam! Sed interdum metus pharetra elit accumsan sit amet semper purus auctor. Nunc eget dolor ac nibh molestie iaculis in at mi. Nunc velit nisl, venenatis at tempus id, adipiscing et ligula. Aliquam erat volutpat. Mauris eget commodo erat." ) ) sel.click("ctl00_aLogin") except Exception, e: self.verificationErrors.append(str(e))
def testPkgConfigFileVersions(self): errors = [] for pkg in pkgs.keys(): cmd = getPrefix() + pkg mono.log("Checking '%s'" % pkg) out = executeCmd(cmd)[0].strip() if out != pkgs[pkg]: errors.append("\t '%s' expected '%s' but got '%s'" % (pkg, pkgs[pkg], out)) if len(errors) != 0: print "\n\nPackage versions errors:" for err in errors: printColor(err, "red") self.fail("Package version errors")
def testExecutableFileVersions(self): errors = [] for exe in exes.keys(): cmd = getPrefix() + exe mono.log("Checking '%s'" % exe) matched = False output = string.join(executeCmd(cmd, stderr=subprocess.STDOUT)).replace("\r ", "\n") if not re.search("[^.0-9a-zA-Z]*" + exes[exe] + "[^.0-9a-zA-Z]*", output): errors.append("\t '%s' expected '%s' got:\n%s\n" % (exe, exes[exe], output)) if len(errors) != 0: print "Executable versions errors:" for err in errors: printColor(err, "red") self.fail("Executable version errors")
def test(self): if not self.canRun: return try: sel = self.selenium sel.open("/ClubWebSite/") sel.type("ctl00_ContentPlaceHolder1_lv1_Login1_UserName", "test") sel.type("ctl00_ContentPlaceHolder1_lv1_Login1_Password", "test") sel.click("ctl00_ContentPlaceHolder1_lv1_Login1_RememberMe") sel.click("ctl00_ContentPlaceHolder1_lv1_Login1_LoginButton") sel.click("ctl00_TopNavRepeat_ctl02_HyperLink1") sel.wait_for_page_to_load("30000") sel.click("ctl00_ContentPlaceHolder1_Addbtn") sel.wait_for_page_to_load("30000") sel.type("ctl00_ContentPlaceHolder1_FormView1_titleTextBox", "Mono Summit in Down Under") sel.select("ctl00_ContentPlaceHolder1_FormView1_LocationPicker1_locationselect", "label=New Zealand") for i in range(60): try: if sel.is_element_present("//option[text()='New Zealand']"): mono.log("Found //option[text()='New Zealand']") break except: pass mono.log("Looking for //option[text()='New Zealand']") time.sleep(1) time.sleep(1) sel.click("//option[text()='New Zealand']") for i in range(60): try: if sel.is_element_present("ctl00_ContentPlaceHolder1_FormView1_descriptionTextBox"): mono.log("Found: ctl00_ContentPlaceHolder1_FormView1_descriptionTextBox") break except: pass mono.log("Looking for: ctl00_ContentPlaceHolder1_FormView1_descriptionTextBox") time.sleep(1) time.sleep(1) sel.type("ctl00_ContentPlaceHolder1_FormView1_descriptionTextBox", "The conference will be held this year in New Zealand, land where J R R Tolkien's novels of heroism, bravery, ultimate quests and triumph of good over evil were portrayed on the silver screen. Much hacking will be done.") sel.click("//*[@id=\"ctl00_ContentPlaceHolder1_FormView1_apply1\"]") sel.wait_for_page_to_load("30000") sel.click("ctl00_TopNavRepeat_ctl01_HyperLink1") sel.wait_for_page_to_load("30000") sel.click("//*[@id=\"ctl00_ContentPlaceHolder1_lv1_logout\"]") sel.wait_for_page_to_load("30000") except Exception,e: self.verificationErrors.append(str(e))
def setUp(self): mono.log("Setting up test case %d" % self.testcaseid) if not self.canRun: mono.log(" Test case #%d is not found in the test run.... skipping" % self.testcaseid) return
def setUp(self): mono.log("Setting up test case %s" % self.testcaseid) try: self.verificationErrors = [] url = "%s:%s" % (mono.base_url,self.port) mono.log(" Creating test case(url='%s',rc_server='%s')" % (url,mono.rc_server)) mono.log(" selenium(mono.rc_server='%s', mono.rc_port='%s', mono.rc_browser='%s',url='%s')" % (mono.rc_server, mono.rc_port, mono.rc_browser,url)) self.selenium = selenium(mono.rc_server, mono.rc_port, mono.rc_browser,url) self.selenium.start() except Exception, e: mono.log('-'*60) mono.log(traceback.print_exc(file=sys.stdout)) mono.log('-'*60) raise e
def test(self): if not self.canRun: return try: sel = self.selenium sel.open("/blogengine/") sel.click("ctl00_aLogin") sel.wait_for_page_to_load("30000") sel.type("ctl00_cphBody_Login1_UserName", "admin") sel.type("ctl00_cphBody_Login1_Password", "admin") sel.click("ctl00_cphBody_Login1_LoginButton") sel.wait_for_page_to_load("30000") ############ if sel.is_element_present("link=Mono Story 2"): mono.log("Delete Mono Story 2") sel.click("link=Mono Story 2") sel.wait_for_page_to_load("30000") sel.click("//html/body/form//div[3]/a[text()='Delete']") self.failUnless(re.search(r"^Are you sure you want to delete the post[\s\S]$", sel.get_confirmation())) ############ if sel.is_element_present("link=Mono Story"): mono.log("Delete Mono Story") for i in range(60): try: if sel.is_element_present("link=Mono Story"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("link=Mono Story") sel.wait_for_page_to_load("30000") for i in range(60): try: if sel.is_element_present("//html/body/form//div[3]/a[text()='Delete']"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("//html/body/form//div[3]/a[text()='Delete']") self.failUnless(re.search(r"^Are you sure you want to delete the post[\s\S]$", sel.get_confirmation())) ############ mono.log("Delete Mono category") for i in range(60): try: if sel.is_element_present("//a/span[text()='Categories']"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("//a/span[text()='Categories']") sel.wait_for_page_to_load("30000") sel.click("//tbody/tr/td[normalize-space(text())='Mono']/preceding-sibling::td/a[text()='Delete']") sel.wait_for_page_to_load("30000") ############ mono.log("Delete the Mono Page") sel.click("link=Go to front page") sel.wait_for_page_to_load("30000") sel.click("link=Mono Page") sel.wait_for_page_to_load("30000") sel.click("//html/body/form/div[2]/div/div[2]/a[2]") self.failUnless(re.search(r"^Are you sure you want to delete the page[\s\S]$", sel.get_confirmation())) ############ mono.log("Delete slashdot from blogroll") for i in range(60): try: if sel.is_element_present("//a/span[text()='Blogroll']"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("//a/span[text()='Blogroll']") sel.wait_for_page_to_load("30000") sel.click("//table[@id='contentTable']//table/tbody/tr/td[1]/a[text()='Slashdot']/../following-sibling::td/a[text()='Delete']") sel.wait_for_page_to_load("30000") self.failUnless(re.search(r"^Are you sure[\s\S]$", sel.get_confirmation())) for i in range(60): try: # 'Go to front page' XPath if sel.is_element_present("//form[@id='ctl00_form1']/table/tbody/tr/td[4]/a"): break except: pass time.sleep(1) else: self.fail("time out") sel.click("//form[@id='ctl00_form1']/table/tbody/tr/td[4]/a") ############ mono.log("Delete the mono user") sel.wait_for_page_to_load("30000") sel.click("//a/span[text()='Users']") sel.wait_for_page_to_load("30000") sel.click("//span[text()='mono user']/../preceding-sibling::td/a[text()='Delete']") sel.wait_for_page_to_load("30000") self.failUnless(re.search(r"^Are you sure you want to delete mono user[\s\S]$", sel.get_confirmation())) sel.click("link=Go to front page") sel.wait_for_page_to_load("30000") ############ mono.log("Change settings back") for i in range(60): try: if sel.is_element_present("//a/span[text()='Settings']"): break except: pass time.sleep(1) sel.click("//a/span[text()='Settings']") sel.wait_for_page_to_load("30000") sel.type("ctl00_cphAdmin_txtName", "BlogEngine.NET") sel.type("ctl00_cphAdmin_txtDescription", "") sel.click("ctl00_cphAdmin_btnSave") sel.wait_for_page_to_load("30000") sel.click("link=Go to front page") sel.wait_for_page_to_load("30000") except Exception,e: self.verificationErrors.append(str(e))