就像click()可以用来触发元素上的click事件一样,有没有办法模拟字符串的输入?
我有一个自定义视图,就像一个按钮.我想在用户按下它时更改背景,当用户将手指移到外面或释放它时将背景恢复为原始状态,我还想处理onClick/onLongClick事件.问题是onTouch要求我返回true,ACTION_DOWN否则它不会向我发送ACTION_UP事件.但如果我回归真实,那么onClick听众将无法工作.
我以为我通过在onTouch中返回false并注册onClick来解决它 - 它以某种方式工作,但是有点反对文档.我刚收到用户的消息,告诉我他无法长按此按钮,所以我想知道这里有什么问题.
当前代码的一部分:
public boolean onTouch(View v, MotionEvent evt)
{
switch (evt.getAction())
{
case MotionEvent.ACTION_DOWN:
{
setSelection(true); // it just change the background
break;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_OUTSIDE:
{
setSelection(false); // it just change the background
break;
}
}
return false;
}
public void onClick(View v)
{
// some other code here
}
public boolean onLongClick(View view)
{
// just showing a Toast here
return false;
}
// somewhere …Run Code Online (Sandbox Code Playgroud) select当用户将鼠标悬停在它上面时,我正试图让一个盒子自动弹出,就好像他们点击了它一样.这可能吗?
我想我可以用jQuery轻松做到这一点......
$("#settings-select").mouseover(
function(){
$(this).trigger("click");
}
);
Run Code Online (Sandbox Code Playgroud)
但这没有任何作用.有任何想法吗?
我想使用js方法.click()如下:
document.getElementById(id).click();
Run Code Online (Sandbox Code Playgroud)
但由于它必不可少,因此我想知道该.click()方法支持哪些浏览器.
我无法弄清楚如何点击div***中的链接
下面是我的页面资源,xpath,css和我的失败尝试.每次尝试,我收到了org.openqa.selenium.NoSuchElementException: no such element...
救命?
<form id="SearchAllCampaignsForm" action="/as/update.do" method="post" name="SearchAll">
<style>
<script>
<div class="body-content">
<input type="hidden" value="" name="campCookie">
<div id="container" class="Coptions">
<div class="containcamps">
<div id="dwrapper" class="dTables_wrapper" role="grid">
<div class="owrapper">
<div class="refresh">
<div class="addRow">
***<div class="AddContentBTN" title="Add New" rel="createCampaign">Add New</div>***
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的尝试:
@Test
public void addCamp(){
//WebElement link = driver.findElement(By.linkText("Add New"))
//driver.findElement(By.xpath("//div[@class='AddContentBTN']/rel[text()='createCampaign']")).click();
//driver.findElement(By.xpath("//a[@title = 'Add New']")).click();
//Actions builder = new Actions(driver);
//builder.moveToElement(addCamp).click().perform();
//driver.findElement(By.cssSelector("div.wrapper div.row-fluid form#SearchAllCampaignsForm div.body-content div.container div#dataTable_wrapper.dataTables_wrapper div.optionswrapper div.addRow div.AddContentBTN")).click();
}
Run Code Online (Sandbox Code Playgroud)
xPath和CSS:
/html/body/div[3]/div/form/div/div[2]/div/div/div[2]/div
html body div.wrapper div.row-fluid …Run Code Online (Sandbox Code Playgroud) 我阅读了很多关于播放键盘点击的文档和主题,但我无法让它在我的应用程序中运行...
我设计了一个自定义键盘(作为UIView子视图),它采用UIInputViewAudioFeedback协议,并为该enableInputClicksWhenVisible方法返回YES .
但是当我打电话时[[UIDevice currentDevice] playInputClick],没有任何反应(当我使用默认键盘时,我可以听到咔嗒声).
在Apple UIKit框架参考中,它写道它应该"只有在输入视图本身已启用且可见"时才能工作.我的视图显然是可见的,即使我将超类从UIView更改为UIControl,并设置self.enabled = YES,它也不起作用......
我看到很多解决方案,AudioServicesPlaySystemSound(1104);但我甚至没有尝试,因为如果用户在设置中禁用了键盘点击,我不想播放点击.
为什么"官方"解决方案不起作用?在iOS 8中它似乎没有被弃用...
非常感谢
托马斯
我有一些点击选项卡的测试,但并不总是执行点击.
xpath是正确的,因为测试工作的大多数时间
这不是一个计时问题,因为我使用了thread.sleep()和其他方法来确保在单击之前元素是可见的
测试认为它正在执行点击,因为它不会在"执行"点击时抛出ElementNotFoundException或任何其他异常.由于选项卡内容不会更改,因此稍后在单击后测试失败.
进一步的信息我使用Selenium 2.44.0来实现在Chrome 44.0.2403.107 m上运行的Java测试.
我还能做些什么,或者这可能成为硒的问题?
在此页
https://developers.google.com/admob/android/test-ads#add_your_test_device
它说
注意:在发布应用程序之前,请确保删除设置这些测试设备的代码。
谁能解释为什么?为什么无论如何我都不能离开发送我的特定设备测试广告的代码行?这是否有助于防止我违反AdMob关于开发人员不会意外给自己带来虚假印象或点击的规则?
奇怪的是,HTML/CSS/JS下拉菜单中的所有链接(右上角有父菜单项"Home""Shop""Create",如示例图片所示),不要点击到他们的href =目的地第一次点击.点击一次没有任何作用.等待几秒钟以验证没有任何反应,然后再次单击 - 工程浏览器在第二次单击时点击指向目标的链接.
我正在Google Chrome中测试.
这是整个网站中唯一有这个问题的菜单或链接集......
我已经用Chrome中的开发人员面板右键单击它们来检查元素,期望找到一些阻止它的其他元素,但事实并非如此,目标似乎是可点击的,悬停状态可以正常工作.
查看示例:http: //www.PuckStyle.com
谢谢!
更新:
这是一个截图请求 -

我正在为 React 中的 popover 组件编写单元测试和 e2e 测试。当我在组件外单击时,我应该检查弹出窗口是否隐藏。我使用 Jest + Enzyme 进行单元测试,使用 Cypress 进行 e2e 测试。有人知道怎么做这个吗?
我在柏树中尝试过如下。
cy.get('[data-test-id="popover-container"]').click(-20, -20, {force: true});
Run Code Online (Sandbox Code Playgroud)
但是点击的点实际上在弹出窗口之外,但它不起作用。
react-tiny-popover库用于显示弹出框如下:
<Popover
content={({ position, targetRect, popoverRect }) => (
<ArrowContainer
position={position}
targetRect={targetRect}
popoverRect={popoverRect}
arrowColor={'#ccc'}
arrowSize={10}
>
<div data-test-id="popover-container">
<Content/>
</div>
</ArrowContainer>
)}
isOpen={visible}
onClickOutside={() => hideOnOutsideClick && setVisible(false)}
position={position}
>
<div onClick={() => setVisible(!visible)}>{children}</div>
</Popover>
Run Code Online (Sandbox Code Playgroud)