首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将样式组件与硒定位器集成

将样式组件与硒定位器集成
EN

Stack Overflow用户
提问于 2019-06-05 02:42:28
回答 1查看 1.1K关注 0票数 0

我将在一个使用react样式组件的网站上运行自动化测试。由于样式组件经常更改CSS选择器,我的问题是:选择包含由样式组件生成的动态CSS样式的元素的替代方案是什么?

我使用过X-path,但并非所有元素都是x-path的最佳候选元素。

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 05:12:36

这是我的解决办法。希望它能帮到你。

1.使用数据之类的HTML5属性,或者像数据一样的

例如:(在码箱上查看活动)

代码语言:javascript
复制
import React from "react";
import styled, { css } from "styled-components";

const BorderBox = styled.div`
  text-align: center;
  border: 1px solid #cacaca;
`;
const Button = styled.button`
  color: palevioletred;
  font-size: 1em;
  margin: 1em;
  padding: 0.25em 1em;
  border: 2px solid palevioletred;
  border-radius: 3px;
`;

// A new component based on Button, but with some override styles
const TomatoButton = styled(Button)`
  color: tomato;
  border-color: tomato;
`;

export const MyContainer = React.memo(props => {
  return (
    <BorderBox data-testid="myContainer">
      <TomatoButton data-testid="tomatoButton">Tomato Button</TomatoButton>
      <Button data-testid="normalButton">Normal Button </Button>
    </BorderBox>
  );
});

2.使用xpath查询组件:

代码语言:javascript
复制
$x("//div[@data-testid='myContainer']") 

$x("//div[@data-testid='myContainer']/button[@data-testid='tomatoButton']") 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56453643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档