> > The code # -*- coding: utf-8 -*- #!/usr/bin/python
""" This test case check how system works in the situation, when user tries to use already used username (domain) We are creating two accounts with such parameters: 1. Sex = Femle 2. Name1=Name2 = foobar%S 3. Pass1 = Name 4. Pass2 = Name 5. Email address1 = Email address2 = [EMAIL PROTECTED] In the test we use verification point - warning message about incorrect input of domain name and the sugestion message """ from selenium import selenium import unittest, time, re import HTMLTestRunner import config import Creating_account_basic class Same_domain_name(unittest.TestCase): def setUp(self): self.name = "foobar" self.email = self.name + "@meta.ua" self.verificationErrors = [] self.selenium = selenium("localhost", 4444,config.browser, config.link) self.selenium.start() def test_create_account_to_check(self): """Creating sample account for next test""" sel = self.selenium sel.open("/") sel.click(u"link=Регистрация") sel.wait_for_page_to_load("70000") sel.click("id_gender_1") sel.type("id_first_name", self.name) sel.type("id_last_name", self.name) sel.type("id_email", self.email) sel.type("id_username", self.name) #sel.wait_for_condition(sel.is_element_present("check_username_block"), 70000) time.sleep(10) print "!!!", sel.is_element_present("check_username_block") sel.type("id_password", self.name) print sel.get_text("check_username_block").decode('cp-1252') sel.type("id_password2", self.name) sel.click(u"//[EMAIL PROTECTED]'Зарегистрироваться']") sel.wait_for_page_to_load("70000") if config.debugMode is True: time.sleep(5) def tearDown(self): self.selenium.stop() print self.verificationErrors self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main() #HTMLTestRunner.main() On Thu, Jul 17, 2008 at 6:47 AM, Oleg Oltar <[EMAIL PROTECTED]> wrote: > In [1]: import sys > > In [2]: sys.getdefaultencoding() > Out[2]: 'ascii' > > In [3]: sys.stdout.encoding > Out[3]: 'US-ASCII' > > > On Thu, Jul 17, 2008 at 6:29 AM, Oleg Oltar <[EMAIL PROTECTED]> wrote: > >> Seems need help there. Start getting >> >> Traceback (most recent call last): >> File "./newaccount/Same_domain_name.py", line 56, in >> test_create_account_to_check >> print sel.get_text("check_username_block") >> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: >> ordinal not in range(128) >> >> >> when trying to get the text of one of the elements. >> >> How to solve it? >> >> >> On Thu, Jul 17, 2008 at 5:11 AM, Oleg Oltar <[EMAIL PROTECTED]> >> wrote: >> >>> OK, >>> >>> I just run the program from terminal. OS: OS X, IDLE = Emacs:). >>> >>> Yep used the string "# -*- coding: utf-8 -*-" to setup encoding.... >>> >>> >>> On Thu, Jul 17, 2008 at 4:14 AM, Kent Johnson <[EMAIL PROTECTED]> wrote: >>> >>>> Another possibility - do you have a coding declaration in your source >>>> file, something like >>>> # -*- coding: <encoding name> -*- >>>> >>>> If so, does the coding declaration match the actual encoding of the >>>> file? >>>> >>>> Kent >>>> >>>> On Wed, Jul 16, 2008 at 5:11 PM, Kent Johnson <[EMAIL PROTECTED]> wrote: >>>> > On Wed, Jul 16, 2008 at 2:40 PM, Oleg Oltar <[EMAIL PROTECTED]> >>>> wrote: >>>> >> Hi I am using unittest framework with selenium. >>>> >> >>>> >> When I tried this code (my verification point) >>>> >> >>>> >> self.assertEqual(True, sel.is_text_present(u"Извените пароли >>>> не >>>> >> совпадают"), "System didn't give a correct warning about the password >>>> >> misstype") >>>> >> >>>> >>> Where u"Извените пароли не совпадают" is russian = "Sorry passwords >>>> aren't >>>> >>> equal", and sel.is_text_present - searches text string on the page >>>> >> >>>> >> The output I get in case of failure was: >>>> >> >>>> >> >>>> >> Traceback (most recent call last): >>>> >> >>>> >> File "./newaccount/Password_matching.py", line 50, in >>>> >> test_passwordMatching >>>> >> self.assertEqual(True, sel.is_text_present(u"Извените >>>> >> пароли не Ñ Ð¾Ð²Ð¿Ð°Ð´Ð°ÑŽÑ‚"), "System didn't give a correct >>>> >> warning about the password misstype") >>>> >> >>>> >> AssertionError: System didn't give a correct warning about the >>>> password >>>> >> misstype >>>> >> >>>> >> Is there any way to get normal russian text instead of these strange >>>> D chars >>>> >> "Изве...." >>>> > >>>> > I don't have the solution but maybe I can give you a useful clue. The >>>> > D characters are most likely the utf-8 encoding of the Russian text, >>>> > when displayed as if it is latin-1. So something in the system is >>>> > converting the text to utf-8 and your console probably has latin-1 or >>>> > cp1252 encoding. >>>> > >>>> > Some details might help - how are you running the program - console, >>>> > IDLE...? What OS? What are the values of sys.getdefaultencoding() and >>>> > sys.stdout.encoding? >>>> > >>>> > Kent >>>> > >>>> >>> >>> >> >
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor