UI自动化分享(国贸系统登录)

一、安装及环境

问题解决中查阅的资料:https://cloud.tencent.com/developer/article/2524154

                                 https://developer.baidu.com/article/details/3235533

                                  https://blog.csdn.net/Defry/article/details/142729011

                                  https://developer.baidu.com/article/details/3292092

                                  https://blog.csdn.net/suiusoar/article/details/140177587

                                  https://blog.csdn.net/diaiyuan1008/article/details/101310337

                                 https://www.cnblogs.com/yanghj010/p/18528682

                                  https://www.pianshen.com/article/5069513202/

1.pycharm安装

2.selenium安装4.0以上版本

3.urllib3版本

4.python3.8,环境变量配置百度

5.也可以用jmeter+body自己录制脚本,应该也能实现UI自动化

 

 

 

二、元素定位的几种方法

1.CSS定位(第一种选择)

元素定位css selector(选择器定位)from selenium import webdriver

                                                  from selenium.webdriver.common.keys import Keys

                                                  driver = webdriver.Chrome() 

语法:driver.find_element_by_css_selector("定位元素标识")或者element = driver.find_element(By.CSS_SELECTOR".login-btn")

可以通过id、class、标签名+属性,其他不经常使用就不介绍了

id:element = driver.find_element(By.CSS_SELECTOR, "#normal_login_passwd"),#表示通过id定位

class:element = driver.find_element(By.CSS_SELECTOR, ".login-btn")   .表示通过class定位,图片中class用不了,所以用id方便

 

 

标签名:element = driver.find_element(By.CSS_SELECTOR"input[name]")    

标签名+属性:element = driver.find_element(By.CSS_SELECTOR, "input[name='passwd']")

层级定位:element = driver.find_element(By.CSS_SELECTOR, "span[class='bottom',]>button",通过父标签中class属性,找到子标签button

 

 

2.Xpath定位(第二种方式)

可以通过id、class、标签名+属性,其他不经常使用就不介绍了

 id:element = driver.find_element(By.XPATH, "//*[@id='username']")或者driver_find_element_by_xpath('//input[@id="normal_login_loginName"]')

 也可用webdriver的Key库这样写:element=driver.find_element_by_xpath('//input[@placeholder="手机号码或账号"]').send_keys('14488889999')

 

 

 

class:element = driver.find_element(By.XPATH, "//*[contains(@class, 'class属性值')]")或者element = driver.find_element_by_xpath(//*[contains(@class, 'class属性值')]")

标签+属性:element = driver.find_element(By.XPATH, "//input[@name='Loginname']")

 

注意:代码执行成功不代表实际成功,以新增为例,单据新增成功了,查看列表有新数据才算是实际完成了

二、国贸登录案例

心中需要有个大概框架:

哪个文件写配置信息,哪个文件写路径配置,哪个文件写公共类,哪个文件写用例,哪个文件写报告,哪个文件写执行

我们框架可以基于selenium扩展封装+PO思想+Python+Pycharm工具

PO封装思想(PageObject):将一个页面抽象为类class方法,将页面能够操作的元素抽象成一个个的方法

比如,我将登陆整个页面作为一个类class,然后用户名、密码作为一个方法def,这样这个页面封装便于维护,尤其前端改版

 

 self代表实例对象,通过他可以调用属性方法

 

 

 

 

 2.创建采购报盘案例

3.创建销售报盘案例

posted on 2025-06-17 18:33  国元  阅读(16)  评论(0)    收藏  举报

导航