首页 >> 大全

UI自动化进销存系统之会员管理(二)

2023-09-16 大全 23 作者:考证青年

上一篇介绍了进销存系统的登录,这块来介绍一下会员管理模块添加会员。需要使用前面封装的公共方法,通用定位元素的封装和基于方法的测试夹具。

在模块里面添加一个方法,定位下拉框,这样可以在添加性别时候,使用下拉框。

   #选择元素def findElementBySelect(self,loc,sex):el = self.baseFindElement(loc)se = Select(el)se.select_by_value(sex)

会员管理添加页面操作:在page目录下创建一个.py,继承,写一个添加会员的页面操作以及验证页面操作的方法。这里的一个问题是操作时间框。输入手机号码、会员昵称、小孩性别、出生日期等。解决方式:写一个js代码,去掉时间框中的属性,执行js。然后定位到出生日期,输入值。

会员销售管理系统_进销存管理系统有免费的吗_

js = ".('').('')"

self..(js)

el= self.(self.)

这块我输入之后发现,我没有写点击方法,但是在操作出生日期时,日期弹框会出来,所以我在定位下个元素之后,点击了一次,弹框消失了。

因为登录进去系统后,不是直接跳转到会员管理页面,所以这里添加了一个跳转到员工管理的方法。

会员销售管理系统__进销存管理系统有免费的吗

from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from page.base_page import BasePage
from time import sleepclass memberManagePage(BasePage):phone = (By.ID,"customerphone")memberName = (By.ID,"customername")gender =(By.ID,"childsex")birthdata=(By.ID,"childdate")mother_score=(By.ID,"creditkids")child_score=(By.ID,"creditcloth")memberPage=(By.LINK_TEXT,"会员管理")addAction=(By.XPATH,"//button[contains(@onclick,'addCustomer')]")selectAction=(By.XPATH,"//button[contains(@onclick,'pageIndex=1')]")check_value = (By.XPATH,"//*[@id='customerlist']/tr/td[2]")#跳转到会员管理页面def goto_memberPage(self):self.baseFindElement(self.memberPage).click()#添加页面操作def MemberManageAction(self,phoneNumer,name,sex,birthday,Mscore,Cscore):self.baseFindElement(self.phone).send_keys(phoneNumer)self.baseFindElement(self.memberName).send_keys(name)self.findElementBySelect(self.gender,sex)js = "document.getElementById('childdate').removeAttribute('readonly')"self.driver.execute_script(js)el= self.baseFindElement(self.birthdata)el.clear()sleep(2)el.send_keys(birthday)sleep(2)e2=  self.baseFindElement(self.mother_score)e2.click()e2.send_keys(Mscore)self.baseFindElement(self.child_score).send_keys(Cscore)self.baseFindElement(self.addAction).click()#验证是否添加成功def check_MemberStatus(self,phoneNumer):self.baseFindElement(self.phone).send_keys(phoneNumer)self.baseFindElement(self.selectAction).click()try:element = self.baseFindElement(self.check_value)phone = element.textexcept TimeoutException:print("----------------add false------------------------")return Falseif phone == phoneNumer:print("----------------add success------------------------")return Trueelse:print("----------------add false------------------------")return False

在目录下,添加一个.py模块。添加会员,断言是否添加成功

from common.page_util import PageUtil
from page.login_page import LoginPage
from page.member_manage_page import memberManagePage
from time import sleepclass TestMemberManage(PageUtil):def test_memberPage(self):lp = LoginPage(self.driver)lp.login_action("admin","admin123","0000")sleep(2)mp = memberManagePage(self.driver)mp.goto_memberPage()sleep(2)mp.MemberManageAction("15199173288","AA","男","2022-09-10",110,120)self.assertTrue(mp.check_MemberStatus("15199173288"))

页面加了等待时间是因为不加会报如下问题

报错:mon..: : stale : is not to the page

其实这里应该加一个数据库操作的,在会员管理添加会员时,先从数据库中查询这个手机号是否存在,如果存在就删掉这组测试数据,然后在进行添加、验证是否添加成功的操作。验证完之后需要删除添加的数据,还原数据库原来的样子。但是我数据库密码忘了,就没折腾

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了