Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #71776 > unrolled thread

Need help with executing DB query in two different places in a test

Started bySunitha Byju <sunitha_byju@hotmail.com>
First post2014-05-19 16:46 -0400
Last post2014-05-19 22:34 -0700
Articles 2 — 2 participants

Back to article view | Back to comp.lang.python


Contents

  Need help with executing DB query in two different places in a test Sunitha Byju <sunitha_byju@hotmail.com> - 2014-05-19 16:46 -0400
    Re: Need help with executing DB query in two different places in a test Tim Roberts <timr@probo.com> - 2014-05-19 22:34 -0700

#71776 — Need help with executing DB query in two different places in a test

FromSunitha Byju <sunitha_byju@hotmail.com>
Date2014-05-19 16:46 -0400
SubjectNeed help with executing DB query in two different places in a test
Message-ID<mailman.10142.1400532473.18130.python-list@python.org>

[Multipart message — attachments visible in raw view] — view raw

I am trying to automate an ecom website. I need to run DB query after placing each order.  I don't know how to run different queries after each order.  Can someone help me out with having queries after each order submission or test?  
If you notice, I'm calling self.database_verification() after test 1.  So for the second test the query would be different, something like, Select * from PORTFOLIO_ORDER where MEMBER = 'USA' AND SYMBOL = 'TOP' OR SYMBOL = 'Sweater.  Basically for the sequence of orders, i would have different queries.  So what is the best way to write the code?


class OrderInputScreen(unittest.TestCase):
    def setUp(self):        self.driver = webdriver.Firefox()        driver = self.driver        driver.get("http://testserver:8080/OrderInputScreen/login#/")        driver.maximize_window()
    def database_verification(self):	con = cx_Oracle.connect('user/user@testDB123')	cur = con.cursor() 	cur.execute("Select * from US_ORDER where SYMBOL = 'TOP' and SIZE = 'M'")	for result in cur:	    print result[2:8]	cur.close()		    #USA single Order and verification
    def __test_single_order(self):        driver = self.driver        elem = driver.find_element_by_name("username")	elem.send_keys("TEST")	elemPassword = driver.find_element_by_name("password")	elemPassword.send_keys("TEST")	elem.submit()        member = driver.find_element_by_xpath("//form/div/dl/dd[1]/input")        member.click()        member.send_keys("USA")        PayType = driver.find_element_by_xpath ("//form/div/dl/dd[2]/input")        PayType.click()        PayType.send_keys("USD")        clickPayType = driver.find_element_by_xpath ("//form/div/dl/dd/ul/li/a")        clickPayType.click()        Symbol =  driver.find_element_by_xpath ("//form/div/dl/dd[3]/input")        Symbol.click()        Symbol.send_keys("TOP")        Quantity = driver.find_element_by_name ("quantity")        Quantity.click()        Quantity.send_keys("10")        Price = driver.find_element_by_name ("price")        Price.click()        Price.send_keys("56.99")        Size = driver.find_element_by_xpath ("//form/div/dl/dd[6]/select/option[text()='M']")        Size.click()        SubmitButton = driver.find_element_by_xpath ("//form/div/dl/dd[11]/div[2]")        SubmitButton.click()   	ActualOrderMsg = driver.find_element_by_xpath ("//span/p").text   	print ActualOrderMsg   	textPresent = driver.find_element_by_xpath ("//span/p[contains(text(), 'Successfuly added to processing!')]")        self.database_verification()	
	    #USA -multiple orders and verification
    def test_Multiple_order(self):    	#Order0
	driver = self.driver        elem = driver.find_element_by_name("username")	elem.send_keys("TEST")	elemPassword = driver.find_element_by_name("password")	elemPassword.send_keys("TEST")	elem.submit()        member = driver.find_element_by_xpath("//form/div/dl/dd[1]/input")        member.click()        member.send_keys("USA")        PayType = driver.find_element_by_xpath ("//form/div/dl/dd[2]/input")        PayType.click()        PayType.send_keys("USD")        clickPayType = driver.find_element_by_xpath ("//form/div/dl/dd/ul/li/a")        clickPayType.click()        Symbol =  driver.find_element_by_xpath ("//form/div/dl/dd[3]/input")        Symbol.click()        Symbol.send_keys("TOP")        Quantity = driver.find_element_by_name ("quantity")        Quantity.click()        Quantity.send_keys("1")        Price = driver.find_element_by_name ("price")        Price.click()        Price.send_keys("16.99")        Size = driver.find_element_by_xpath ("//form/div/dl/dd[6]/select/option[text()='S']")        Size.click()        SubmitButton = driver.find_element_by_xpath ("//form/div/dl/dd[11]/div[2]")        SubmitButton.click()   	ActualOrderMsg = driver.find_element_by_xpath ("//span/p").text   	print ActualOrderMsg   	textPresent = driver.find_element_by_xpath ("//span/p[contains(text(), 'Successfuly added to processing!')]"              	#Order1	AddOrder1 = driver.find_element_by_xpath("//div/div[2]/form/div[2]/button[1]")	AddOrder1.click()        member = driver.find_element_by_xpath("//form/div/dl/dd[1]/input")        member.click()        member.send_keys("USA")        PayType = driver.find_element_by_xpath ("//form/div/dl/dd[2]/input")        PayType.click()        PayType.send_keys("USD")        clickPayType = driver.find_element_by_xpath ("//form/div/dl/dd/ul/li/a")        clickPayType.click()        Symbol =  driver.find_element_by_xpath ("//form/div/dl/dd[3]/input")        Symbol.click()        Symbol.send_keys("Sweater")        Quantity = driver.find_element_by_name ("quantity")        Quantity.click()        Quantity.send_keys("2")        Price = driver.find_element_by_name ("price")        Price.click()        Price.send_keys("26.99")        Size = driver.find_element_by_xpath ("//form/div/dl/dd[6]/select/option[text()='M']")        Size.click()        SubmitButton = driver.find_element_by_xpath ("//form/div/dl/dd[11]/div[2]")        SubmitButton.click()   	ActualOrderMsg = driver.find_element_by_xpath ("//span/p").text   	print ActualOrderMsg   	textPresent = driver.find_element_by_xpath ("//span/p[contains(text(), 'Successfuly added to processing!')]"    		#Order2		AddOrder2 = driver.find_element_by_xpath("//div/div[2]/form/div[3]/button[1]")	AddOrder2.click()        member = driver.find_element_by_xpath("//form/div/dl/dd[1]/input")        member.click()        member.send_keys("USA")        PayType = driver.find_element_by_xpath ("//form/div/dl/dd[2]/input")        PayType.click()        PayType.send_keys("USD")        clickPayType = driver.find_element_by_xpath ("//form/div/dl/dd/ul/li/a")        clickPayType.click()        Symbol =  driver.find_element_by_xpath ("//form/div/dl/dd[3]/input")        Symbol.click()        Symbol.send_keys("Sweater")        Quantity = driver.find_element_by_name ("quantity")        Quantity.click()        Quantity.send_keys("1")        Price = driver.find_element_by_name ("price")        Price.click()        Price.send_keys("26.99")        Size = driver.find_element_by_xpath ("//form/div/dl/dd[6]/select/option[text()='S']")        Size.click()        SubmitButton = driver.find_element_by_xpath ("//form/div/dl/dd[11]/div[2]")        SubmitButton.click()   	ActualOrderMsg = driver.find_element_by_xpath ("//span/p").text   	print ActualOrderMsg   	textPresent = driver.find_element_by_xpath ("//span/p[contains(text(), 'Successfuly added to processing!')]")

Thanks,SB
 		 	   		  

[toc] | [next] | [standalone]


#71789

FromTim Roberts <timr@probo.com>
Date2014-05-19 22:34 -0700
Message-ID<8qpln91gcks0s0mm20ds670bsajtsfss78@4ax.com>
In reply to#71776
Sunitha Byju <sunitha_byju@hotmail.com> wrote:
>
>I am trying to automate an ecom website. I need to run DB query after
>placing each order.  I don't know how to run different queries after
>each order.  Can someone help me out with having queries after each
>order submission or test?  

Well, what's your primary key?  After each test, you need to fetch the
record that should have been created, and verify that the fields contain
the information you provided.  For example, if you're doing a shopping
cart, then you must have some kind of key associated with this session. So,
you could just fetch all of the record for the session after each
transaction, and make sure the contents match what you expect.
-- 
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web