AI_Assistant / automation.py
Ashar086's picture
Update automation.py
691333d verified
def generate_automation_scripts(url):
"""
Generates an automation test snippet with the given URL.
Args:
url (str): The URL to use in the test.
Returns:
str: The automation test code snippet.
"""
# Replace `amazon` in the snippet with the provided URL
snippet = f"""
import unittest
from selenium import webdriver
class AutomationTests(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def test_search_product_repetitive(self):
self.driver.get('{url}')
search_box = self.driver.find_element_by_id('twotabsearchtextbox')
search_box.send_keys('Python programming')
search_box.submit()
search_results = self.driver.find_elements_by_class_name('a-link-normal')
for i in range(10):
search_box.clear()
search_box.send_keys('Python programming')
search_box.submit()
new_search_results = self.driver.find_elements_by_class_name('a-link-normal')
self.assertEqual(len(search_results), len(new_search_results))
def test_add_to_cart_data_driven(self):
self.driver.get('{url}')
search_box = self.driver.find_element_by_id('twotabsearchtextbox')
search_box.send_keys('Python programming')
search_box.submit()
search_results = self.driver.find_elements_by_class_name('a-link-normal')
for result in search_results:
result_link = result.get_attribute('href')
self.driver.get(result_link)
add_to_cart_button = self.driver.find_element_by_class_name('a-button-text')
add_to_cart_button.click()
cart_count = self.driver.find_element_by_class_name('nav-cart-count').text
self.assertEqual(cart_count, '1')
def test_create_account(self):
self.driver.get('{url}')
create_account_button = self.driver.find_element_by_id('nav-link-create-account')
create_account_button.click()
username_input = self.driver.find_element_by_id('ap_email')
username_input.send_keys('[email protected]')
password_input = self.driver.find_element_by_id('ap_password')
password_input.send_keys('password123')
password_input.submit()
account_name = self.driver.find_element_by_class_name('nav-sprite-customer-care').text
self.assertEqual(account_name, 'Test User')
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()
"""
return snippet