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))
Beispiel #2
0
    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")
Beispiel #3
0
    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")
Beispiel #4
0
    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))
Beispiel #5
0
 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
Beispiel #6
0
    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
Beispiel #7
0
    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))