poium icon indicating copy to clipboard operation
poium copied to clipboard

Page Objects design pattern test library, support selenium、appium、playwright, etc

Results 30 poium issues
Sort by recently updated
recently updated
newest added

page: > from poium import Page, PageElement > > class WebviewHomePage(Page): > def get_middle_elements(self): > elements = [] > lists = [“首页”,“热门”,“女装”] > for i in lists: > elements.append(PageElement(xpath=f'//div[contains(@id, "quick-entrance-3")]/descendant::div[text()="{i}"]'))...

你原来的代码: ``` if self.k == "css": script = 'document.querySelector("{css}").style.border="2px solid red"'.format(css=self.v) context.execute_script(script) ``` 使用这种方式,只要定位到了元素就可以修改它的CSS增加边框 ``` ele = driver.find_element_by_class_name("r_item") driver.execute_script("arguments[0].style.border=\"2px solid red\"", ele) ```

` # selenium if by == "id_": self.__find_element((By.ID, value)) elem = Browser.driver.find_elements(By.ID, value)[self.index] elif by == "name": self.__find_element((By.NAME, value)) elem = Browser.driver.find_elements(By.NAME, value)[self.index] elif by == "class_name": self.__find_element((By.CLASS_NAME, value)) elem...

在实际项目中,一个测试项目有很多测试页面, 元素定位类是每个页面写一个页面元素类继承一个Page,还是一个网站所有元素都在这个继承Page的页面元素类中? 在调用元素的时候感觉页面元素不是很好区分...比如a页面有个登录,b页面有个登录按钮这种,两个都是登录元素命名一样的实际代表不同页面的元素。 如果是每个页面都继承Page,在使用的时候每个页面都需要实例化一个页面类传入driver? 有最佳实践的demo可参考吗?

![image](https://github.com/SeldomQA/poium/assets/46210790/2374e1aa-9425-472a-bf8d-c728e5cf8ad5) poium版本1.3.2,项目未使用appium,下载依赖时自动下载appium版本为4.0.0;

Element类的init方法里self.k, self.v = selection_checker(selector),self.k = LOCATOR_LIST.get(by, None) 返回的k类型为什么不做成统一的

mac本机连接grid,全选快捷键应按grid机器来设置

感觉DrissionPage的执行效率也很快,相比playwright有一拼。所以也想像Locator、Element、它们一样,对DrissionPage也进行元素剥离,这可以进行兼容改造么?