?本文主要针对全国大学生软件大赛一些想学习自动化测试的分析。
- 打开浏览器输入http://114.215.176.95:60503/goodmanage/index.jsp,输入系统管理员们账号zhangsan密码123456(密码后台采用MD5加密,用其他账户登录请查看其对应的密文),点击登录。
这部分基本上很简单,直接跳过
点击左侧“商品管理-商品添加”,进入商品信息添加模块,输入商品名称,价格,描述,数量信息进行商品信息添加,点击提交按钮。
从登录页面跳转过了后,点击左侧“商品管理-商品添加用xpath、link_text等等方法都无法定位,提示报错,这部分迎来的第一个坑frame的切换。?
?从网页的整体结构上看我们发现,页面代码很短,我们检查商品管理元素可以发现它是另外一部分代码,从这里我们可以知道它是被隐藏了,而也告诉我们使用frame? 这一类情况为什么会有这类情况呢?所有内容都要用表格来分是很难而且很丑,所以引进了frame可以将左侧树、右侧内容,顶端导航轻松分开。这也导致刚开始的时候我们无论怎么使用xpath等等一下定位方法都无法进行点击
?selenium中解决进入frame的方法
第一种通过ID、name等一些简单的方法
dr.switchTo().frame("id");
?如果一个iFrame既没有id,也没有name,通用情况
id=driver.find_element_by_xpath()
跳出frame
driver.switch_to.default_content()
3.点击左侧“商品查询”按钮,进入商品信息查询页面,输入商品ID,点击查询按钮。
很简单跳过
?4.完成之后即可退出系统
跳过
最后附上代码
from selenium import webdriver
import time
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.get('http://114.215.176.95:60503/goodmanage/index.jsp')
driver.implicitly_wait(30)
driver.maximize_window()
driver.find_element_by_name('userName').send_keys('zhangsan')
driver.find_element_by_name('password').send_keys('123456')
driver.find_element_by_id('btnLogin').click()
driver.switch_to.frame('leftFrame')
time.sleep(2)
driver.find_element_by_xpath('//*[@id="menuTree"]/div/div[4]/div[1]/span[2]/a').click()
driver.find_element_by_xpath('/html/body/table/tbody/tr[2]/td[2]/div/div[4]/div[2]/div/span[2]/a').click()
driver.switch_to.default_content()
driver.switch_to.frame('mainFrame')
time.sleep(2)
driver.find_element_by_id('productName').send_keys('娃哈哈')
driver.find_element_by_id('productPrice').send_keys('2')
driver.find_element_by_id('productNumber').send_keys('50')
driver.find_element_by_id('description').send_keys('饮料')
s1 = Select(driver.find_element_by_name('goodsType'))
s1.select_by_index(1)
driver.find_element_by_xpath('/html/body/div/table/tbody/tr[2]/td[2]/div/form/table/tbody/tr[5]/td/input[1]').click()
time.sleep(2)
driver.find_element_by_name('productID').send_keys('1')
driver.find_element_by_name('productName').send_keys('iPhone5s')
driver.find_element_by_xpath('/html/body/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td/input[3]').click()
time.sleep(1)
driver.quit()
MyOffice功能测试
|