我知道通常你可以通过在URL中传递用户名和密码来登录需要使用Selenium进行HTTP基本身份验证的站点,例如:
selenium.open("http://myusername:myuserpassword@mydomain.com/mypath");
Run Code Online (Sandbox Code Playgroud)
我一直在使用Firefox 2或3运行Selenium测试,在那里我仍然得到"需要身份验证"对话框窗口?
更新:似乎不是Selenium问题,而是Firefox问题.如果我在FF中手动输入URL,我将获得身份验证对话框,但如果我在Opera中输入URL,则会显示我的页面而不显示身份验证对话框.
从ANT执行.sql脚本文件它使用以下任务正常工作:
<sql
classpath="${oracle.jar}" driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@@@{db.hostname}:@{db.port}:@{db.sid}"
userid="@{db.user}"
password="@{db.password}"
src="@{db.sql.script}" />
Run Code Online (Sandbox Code Playgroud)
但是,如果.sql文件不仅包含纯SQL而且还包含PL/SQL,则任务将失败.这可以通过使用以下代码段来解决:
<sql
classpath="${oracle.jar}" driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@@@{db.hostname}:@{db.port}:@{db.sid}"
userid="@{db.user}"
password="@{db.password}"
delimiter="/"
delimitertype="row"
src="@{db.sql.script}" />
Run Code Online (Sandbox Code Playgroud)
但是如果我的脚本包含SQL 和 PL/SQL,那么ANT任务都不会起作用.另一个解决方案是使用"exec"任务和"sqlplus":
<exec executable="sqlplus" failonerror="true" errorproperty="exit.status">
<arg value="${db.user}/${db.password}@${db.hostname}:${db.port}/${db.sid}"/>
<arg value="@${db.sql.script}"/>
</exec>
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这个任务永远不会失败,因此即使sql脚本执行失败,构建也总是返回"SUCCESSFUL".我尝试设置的error属性不会返回任何错误代码.
任何想法/建议如何解决这个问题?
谢谢,
彼得