1、在定位元素的时候,如果使用的绝对定位的话(没找到其他办法),在运行过程中,比如在之前运行过一个测试用例,然后再运行这个测试用例,会出现定位不到元素的情况。发现绝对位置确实会发生变化的,但是又没有找到别的办法定位,之前困扰了很久,后来我在该用例之前刷新一次页面,这个问题就解决了,不过页面多了一次刷新总归不太好。希望以后能找到更好的办法定位。
2、有时候在定位元素的时候,如果内容是对的,但是就是定位不到该元素,一开始这种问题会让我找很久,但是同事告诉我可能需要等待时间,我说了我加等待时间还是不行,最后发现是等待时间不够,延长时间就能定位到了
3、在读写文件进行参数化的时候,遇到这样一个问题,就是我写了一个getData()函数,我本来想在通过pytest来调用这个函数,一开始这个函数我是写在类里的,怎么样都无法调用正确,不能像在函数里用self调用一样,后来我把getData()函数写在类外面,定义为一个静态的函数,直接getData()调用就可以了。这个坑也不知道是什么原因,试出来的。
@pytest.mark.parametrize('list2',getData())
def test_AddUser(self,userlogin,list2):
4、关于第三个问题,还有一个问题相关的,我同时还定义了一个setData()函数造测试数据。在调用的时候也出现了问题,getdata()还是通过上面方法调用,不过我想要在之前就setdata()一下更新一个测试数据,但是试了很久顺序都是反了,总是先取数据再set数据。我调试下来发现的是pytest这种参数化数据在fixture之前,无法达到我的要求。后来我想到了另外一个办法,就是在getData()函数中第一行添加:setData(),这样能保证每次取到的都是新数据。