让我们考虑一下我需要断言元素是否存在的情况。在 cypress 中有两种可能的方法来做到这一点:
1) cy.get('button').contains('Save')
2) cy.get('button').contains('Save').should('exist')
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,如果“保存”按钮不存在,测试都会失败。
除了可能更好的代码可读性/可维护性之外,我应该将.should('exist') 添加到我的 cypress 测试中的原因是什么?
情况:我正在为网站编写测试自动化。我的网站上有一个链接按钮。单击此按钮,我将被重定向到外部网站。在那里我必须登录,一旦我登录,我就会被重定向到我的原始网页,其中包含我需要的一些“连接”。
问题:只要 cypress 单击重定向按钮,它就会进入一个空白页面。
理想的解决方案:我想自动化整个场景。如果没有,那么至少有一个解决方法。
我正在使用Linux编写ac程序.但在此期间我使用Linux终端删除文件或复制文件以及其他一些东西.
我这样做的方法是在c中使用命令:
system ("rm in/file.txt");
Run Code Online (Sandbox Code Playgroud)
但是,如果我希望文件Name是我在c中创建的变量,如下所示:
const char *signers[] = {"newfilename.txt"};
Run Code Online (Sandbox Code Playgroud)
当我尝试写作时:
system ("rm in/signers"); // this does not work obviously since it is all in double quotes. But I can't seem to find the right way to do it
Run Code Online (Sandbox Code Playgroud)
不知何故,我需要使用此系统命令以及rm和in /然后我的变量.如果这是一个基本问题,我很抱歉,我是新手.
我正在使用 jsf 2。我的代码的一部分是这样的:
<h:panelGrid id="jobDetail" columns="3" cellpadding="7">
<p:outputLabel value="#{msg['content.jobList.JobName']}" />
<p:inputText id="jobName" styleClass="BIC_search_textbox" value="#{timerConfigurationBean.selectedTimerConfigurationJob.jobName}" required="true" requiredMessage="#{msg['content.jobNew.requiredfield.errormsg']}"/>
<p:message for="jobName" styleClass="error"/>
</h:panelGrid>
<p:commandButton id="update" value="Update_Button" action="#{timerConfigurationBean.updateExportJob}" styleClass="bottomButtonsAfterFirst" update="jobDetail" oncomplete="PF('updatejobpopup').show()"/>
Run Code Online (Sandbox Code Playgroud)
这只是代码的一部分。发生的情况是,当我单击命令按钮“Update_Button”时,会发生以下两件事之一:
1)我在 inputText“jobName”中输入一个值,然后单击命令按钮。首先,action="#{timerConfigurationBean.updateExportJob}" 中的函数运行,然后 oncomplete="PF('updatejobpopup').show()" 运行。这就是它的初衷,所以没关系。
2)我没有在输入文本中输入任何内容(这是必填字段),然后单击命令按钮。我在 Inputtext 字段旁边的网页上看到一条错误消息(发生这种情况是因为我的 commandButton 中有 update="jobDetail")并且 action="#{timerConfigurationBean.updateExportJob}" 未运行,但 oncomplete="PF(' updatejobpopup').show()" 仍然运行。这是个问题。
我希望 oncomplete 仅在页面上没有错误时运行,就像 action="#{timerConfigurationBean.updateExportJob}" 中的函数一样。
有人可以帮忙吗?