感谢,已经解决
只有放在上面才会生效,放在用例里面就没办法生效了,但是放在用例上面又读不到数据里的 title
因为我想的是很多脚本都要连数据库,所以把连数据库放在了 conftest 里
第一个问题,这个字段是重要的字段还是不重要的字段呢,如果是不重要的,我觉得漏测了,情有可原,如果是重要的,是应该要验证一下的
第二个问题,跟地域,特别是国外的有关系的系统,是要应该注意这些差异,我曾经测过几款小程序,在国内适用正常,但是在国外澳洲,就是经常打不开,等各种问题,后来专门进行了弱网测试
你这操作,怎么看的像接口做的事
明白了
感谢回复,这个我确实搞混了,接口去校验数据,UI 层也校验数据了,添加那个没有刻意去校验是否在第一条,是因为添加后会在第一条展示
第一个,你说判断分页是否有效,是否有出现分页按钮,那我是判断有没有出现下图这个图标的元素出现是吧?
第二个,判断按钮是否有错位,那是,定位到按钮的元素,取出按钮中的文本,检查字段值长度是吧?
第三个,明白了,我就每一步都做断言
还要调接口吗?我的思路是,我查询某个字段,判断返回的数据里,有我需要的数据不就行了吗?
嗯,明白了,像新增的,一般会出现在页面列表的第一条数据,就那第一条数据的某个元素与预期的值进行对比,你说的页面跳转是判断 url 吗?
第一种,我们的系统,新增的也会在第一条,那我就拿添加成功后的某个元素的值与预期结果比对就可以了是吧
第二种,查询,公司没特殊要求,我觉得是,比如我通过某个字段查询,查询出很多结果,判断这些结果里有没有我要的数据
第三种,业务流程类的,那我就一个用例做一次断言
就这专家还让多生呢,你看看敢生吗,说到底为啥这么卷,什么时候测试能卷到这个地步啊,中国还是人太多了
你们这 token 时效是有多短?用例没跑完就过期了
有两种办法
1、在脚本里随时获取最新的 token
2、 找开发,让给一个超长时间的 token
这个 cookie 一般有时效,时间到了就过期了
嗯,感谢,已经找前端了,中午帮我看看
我们系统的不一样,你定位到直接输入会有弹框,不想办法隐藏弹框,就会把其他元素遮挡无法定位
用了这种方法,确实可以,能直接赋值,但我提交的时候,出现了这种情况
刚开始没注意你的回复,确实是用这种方式解决的,直接用 js 传值,不触发弹框
def keyboard(self,loc):
self.locator(loc).send_keys(Keys.ENTER)
self.keyboard(self.end_date)
为啥敲击回车的操作不起作用
enter 应该有用,我下午试试
我开始就是想的这个办法,但是空白页面,怎么点击啊,又没可点击的控件
我刚试了点页面上其他可点击的控件,日期弹框还是不隐藏
js 操作还没试过,输入,我用的就是输入,输入后,日期弹框无法隐藏,主要是这个问题,至于点击,我觉得不太合适,因为日期,万一我以后要选其他日期怎么办?
是上面两种不好处理,第三种倒简单了,定位输入框,输入,点击确定就可以搞定
就这两种控件,输入日期,执行脚本的时候,没法让日期弹框隐藏,遮挡了其他元素的定位
我刚想了一种办法,就是输入日期后,移动鼠标到输入框外面,然后点击,就可以隐藏日期弹框
这是封装的移动鼠标的方法
def move_by_offset(self,x,y):
self.action.move_by_offset(x,y).perform()
用例里面使用了这个移动鼠标的方法
self.move_by_offset(100,0)
但是现在的问题是,我怎么在移动鼠标后的位置进行点击
刚试了在封装移动鼠标的方法后面直接加 click 不行
def move_by_offset(self,x,y):
self.action.move_by_offset(x,y).click.perform()
我是在,写页面元素对象的页面,引入的 from selenium.webdriver.common.by import By
元素定位的方式的话,我这也经常用的是 xpath, 但是我没有在 basepage 里去区分定位的方式,而是在这个页面,元素定位的时候加入了定位的方式
from selenium.webdriver.common.by import By
from basepage.BasePage import BasePage
from selenium import webdriver
import time
class LoginPage(BasePage):
#页面url
url = ''
#页面元素定位
username = (By.XPATH, '//input[@placeholder="请输入用户名"]')
password = (By.XPATH, '//input[@placeholder="请输入密码"]')
#登录业务逻辑
def login(self,usr,pwd):
self.open(self.url)
self.input(self.username,usr)
time.sleep(2)
self.input(self.password,pwd)
time.sleep(2)
好的,明白了
我有几个疑问
1、为啥要用 appium, MobileBy, 因为我这个是 webui 自动化框架,appium 不是搞移动端的吗?
2、元素定位,xpath, 那要是其他的怎么办?id ,name
MobileBy.XPATH