- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要帮助编写 Laravel Dusk 测试。我将 Vue 与 ElementUI 一起使用.我真的很喜欢这个框架,但是,我不能使用 Dusk 的内置 select()
我测试中的方法。
这是因为select ElementUI 的组件不会生成真正的 <select>
标记,而是创建一个普通的 <input>
(这是只读的)并且在页面底部,带有选择选项的弹出器,因此,没有 <select>
我页面中的标签,只有一个 <div>
和一个只读的 <input>
。
我如何使用 Dusk 编写一个让我点击“div”的测试?
如果我尝试在该输入上输入类似这样的内容:
// $browser->select('my_select_id'); not working,
$browser->type('my_select_id', 1);
它抛出一个异常:
Facebook\WebDriver\Exception\InvalidElementStateException: invalid element state: Element must be user-editable in order to clear it.
所以我不知道如何测试 ElementUI 的选择 :(
请帮忙,
谢谢!
编辑
发布由 ElementUI 生成的 html:
<div class="el-select w-100 el-select--mini" value="0" title="Cliente" dusk="v-select-component">
<div class="el-input el-input--mini el-input--suffix">
<input autocomplete="off" placeholder="Cliente" size="mini" name="client_id" id="client_id" readonly="readonly" type="text" rows="2" class="el-input__inner">
<span class="el-input__suffix">
<span class="el-input__suffix-inner">
<i class="el-select__caret el-input__icon el-icon-arrow-up"></i>
</span>
</span>
</div>
<div class="el-select-dropdown el-popper" style="display: none; min-width: 512.344px;">
<div class="el-scrollbar" style="">
<div class="el-select-dropdown__wrap el-scrollbar__wrap" style="margin-bottom: -17px; margin-right: -17px;">
<ul class="el-scrollbar__view el-select-dropdown__list" style="position: relative;">
<li class="el-select-dropdown__item selected"><span>Item 1</span></li>
<li class="el-select-dropdown__item"><span>Item 2</span></li>
</ul>
</div>
<div class="el-scrollbar__bar is-horizontal">
<div class="el-scrollbar__thumb" style="transform: translateX(0%);"></div>
</div>
<div class="el-scrollbar__bar is-vertical">
<div class="el-scrollbar__thumb" style="transform: translateY(0%);"></div>
</div>
</div>
</div>
</div>
编辑 2:
我添加了一个简单的 JSFiddle使用 ElementUI 的选择示例。我只是想用 Laravel Dusk 测试这个选择
最佳答案
您必须单击 .el-select
元素并等待弹出器打开:
$browser->click('.el-select');
$browser->waitFor('.el-select-dropdown.el-popper');
然后你可以通过索引选择一个选项:
$browser->elements('.el-select-dropdown__item')[2]->click();
或通过文本:
$selector = "//li[@class='el-select-dropdown__item']/span[text()='Option3']";
$browser->driver->findElement(WebDriverBy::xpath($selector))->click();
我看不到按值选择选项的方法,因为这些值不在 HTML 中的任何位置。
关于Laravel Dusk + Vue 与 ElementUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49514382/
本系列文章是为学习Vue的项目练习笔记,尽量详细记录一下一个完整项目的开发过程。面向初学者,本人也是初学者,搬砖技术还不成熟。项目在技术上前端为主,包含一些后端代码,从基础的数据库(Sqli
步骤很简单: 通过动态绑定属性给<el-main></el-main>绑定高度,而高度通过 innerHeight 获取,减去你的头部和底部高度,剩下的就是整个内容区域的高
1.使用elementui plus版本实现按需加载组件会报错 Error: Cannot find module 'babel-preset-es2015' from 'D:\danzhu
引入bootstrap 安装依赖包 cnpm install bootstrap --save-dev cnpm install jquery --save-dev cnpm instal
需求: element ui loading图只能使用自己的loading图, 但很多场景下,需要替换成自己的gif图 虽然文档中有些, element-loading-spinner="e
我使用elementUI的级联选择器来显示数据,这段代码是我根据官方文档编写的。 data() { return { address: '', address
我的是根据父级id做的一些判断 ? 1
前面跟大家提到过 elementUI验证的问题,那么今天就来看看 点击对话框和关闭按钮 怎么清空验证,清空form表单,避免二次点击还会有 验证错误的提示 1、首先在你的对话框 取消按钮 加一个c
我需要帮助编写 Laravel Dusk 测试。我将 Vue 与 ElementUI 一起使用.我真的很喜欢这个框架,但是,我不能使用 Dusk 的内置 select()我测试中的方法。 这是因为se
如下所示: ? 1
如下所示: 这个需求针对用户上传手机拍摄照片等不便修改图片大小的情况,我们允许上传10m以内的图片由前端对图片进行压缩再传给后台存储,结合elementui的el-upload组件实现图片上传
使用 ElementUI 我希望能够将文本换行在一列的空白处而不是在单词的中间。通常你会申请 white-space: normal; word-wrap: break-word; 在普通列中,或用该
我正在尝试在我的 Vue 应用程序中使用 ElementUI 的 MessageBox 来显示动态 HTML 内容。内容来自作为 HTML 字符串的 JSON 数据,本质上需要将其解析为 HTML。通
尝试使用 webpack4 使用 Vue 和 ElementUI 设置项目。我想从 CDN 中提取 Vue 和 ElementUI,所以我有以下 webpack 配置 module.exports =
我想在 Vue 组件中延迟加载 ElementUI 的特定元素。 我试过这个: import { Tree } from /* webpackChunkName : "element-ui" */ '
环境搭建 spring boot的简介 以往我们开发时用到spring总是避免不了繁琐的配置,例如我们要配置一个数据库连接,可能需要以下几步: 1、编写jdbc.properties配置文件;
在上篇文章给大家介绍了Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一),接下来我们添加分页相关的依赖,时间紧张,直接上代码了,贴
我是一名优秀的程序员,十分优秀!