web自动化学习进展

1.ui自动化用于回归测试,并不是用于发现BUG,回归测试也看完成的颗粒度,也就是回归的覆盖率

2.ui自动化也是一个冒烟测试的很好选择,检测重要业务逻辑是否满足需求,可以进行细致的功能测试

使用当当网进行的本地测试,功能:物品加入购物车,检测是否成功,下一页是否能使用,选择页码查询功能是否有用

代码如下:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait
import time

driver = webdriver.Chrome()
# driver = webdriver.Firefox()
driver.get("http://book.dangdang.com")
first_handle = driver.current_window_handle
driver.find_element_by_id("key_S").send_keys("软件测试")
driver.find_element_by_id("key_S").send_keys(Keys.ENTER)
driver.find_element_by_xpath('//*[@id="input_lowprice"]').send_keys(30)
driver.find_element_by_xpath('//*[@id="input_highprice"]').send_keys(60)
driver.find_element_by_id("price_btn_yes").click()
driver.find_element_by_xpath('//*[@id="p22722789"]/div[2]/p/a[1]').click()
# driver.close()
time.sleep(3)
driver.refresh()
# driver.find_element_by_id('cart_items_count').click()
# driver.get("http://book.dangdang.com")
s=driver.find_element_by_id('cart_items_count').text
print(s)
if int(s)==1:
    print("测试通过")
else:
    print("测试失败")
driver.find_element_by_xpath('//*[@id="p23764543"]/div[2]/p/a[1]').click()
time.sleep(3)
driver.refresh()
d=driver.find_element_by_id('cart_items_count').text
if int(d)==2:
    print("测试通过")
else:
    print("测试失败")
# driver.find_element_by_xpath('//*[@id="tr_694333408"]/td[7]/span[2]/a').click()
time.sleep(3)

#输出当前句柄
# first_handle = driver.current_window_handle
print(first_handle)

#新开一个窗口
js = 'window.open("https://www.baidu.com");'
driver.execute_script(js)
driver.switch_to_window(first_handle)
driver.refresh()
target = driver.find_element_by_id("p23484974")
driver.execute_script("arguments[0].scrollIntoView();",target)
time.sleep(10)
a=driver.find_element_by_xpath('//*[@id="12810"]/div[5]/div[2]/div/ul/li[10]').is_displayed()
print(a)
if a == True:
    driver.find_element_by_xpath('//*[@id="12810"]/div[5]/div[2]/div/ul/li[10]').click()
else:
    print("下一页无法定位到元素")
driver.find_element_by_id('t__cp').send_keys(20)
driver.find_element_by_id('click_get_page').click()
alert = driver.switch_to_alert().text
print(alert)
time.sleep(10)
driver.switch_to_alert().accept()
driver.find_element_by_id('t__cp').clear()
driver.find_element_by_id('t__cp').send_keys(20)
driver.find_element_by_id('click_get_page').click()

拓展:

1.若是需要覆盖更多的测试用例,以及功能需求点,加油干就行了!

2.是否有必要加入场景恢复,遇到执行不下去咋办,截屏,继续执行往后的测试?

3.是否将测试结果打印出来?

 

 

 

你可能感兴趣的:(ui自动化,ui自动化坑人,转行做接口自动化吧!)