Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #71776 > unrolled thread
| Started by | Sunitha Byju <sunitha_byju@hotmail.com> |
|---|---|
| First post | 2014-05-19 16:46 -0400 |
| Last post | 2014-05-19 22:34 -0700 |
| Articles | 2 — 2 participants |
Back to article view | Back to comp.lang.python
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
| From | Sunitha Byju <sunitha_byju@hotmail.com> |
|---|---|
| Date | 2014-05-19 16:46 -0400 |
| Subject | Need 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]
| From | Tim Roberts <timr@probo.com> |
|---|---|
| Date | 2014-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