我正在使用Selenium来自动化测试.我的应用程序专门使用IE,它不适用于其他浏览器.
码:
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class Test {
public static void main(String[] args) {
final String sUrl = "http://www.google.co.in/";
System.setProperty("webdriver.chrome.driver","C:\\Users\\vthaduri\\workspace\\LDCSuite\\IEDriverServer.exe");
WebDriver oWebDriver = new InternetExplorerDriver();
oWebDriver.get(sUrl);
WebElement oSearchInputElem = oWebDriver.findElement(By.name("q")); // Use name locator to identify the search input field.
oSearchInputElem.sendKeys("Selenium 2");
WebElement oGoogleSearchBtn = oWebDriver.findElement(By.xpath("//input[@name='btnG']"));
oGoogleSearchBtn.click();
try {
Thread.sleep(5000);
} catch(InterruptedException ex) {
System.out.println(ex.getMessage());
}
oWebDriver.close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
必须通过webdriver.ie.driver系统属性设置驱动程序可执行文件的路径; 有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver.最新版本可以从http://www.seleniumhq.org/download/ 2012年6月12日下午4:18:42 下载org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO:I/O异常(java.处理请求时捕获的net.SocketException:软件导致连接中止:recv失败2012年6月12日下午4:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute
有人可以帮我吗?
java internet-explorer webdriver system-properties selenium-webdriver
我想计算过去日期和当前日期之间经过的天数.我的过去日期是格式dd/mm/yyyy格式.我使用了下面提到的公式,但给出了正确的输出.
=DAYS360(A2,TODAY())
=MINUS(D2,TODAY())
Run Code Online (Sandbox Code Playgroud)
在上面的公式中A2= 4/12/2012(dd/mm/yyyy),我不确定TODAY是否以dd/mm/yyyy格式返回.我试过在工具栏上使用123按钮,但没有运气.
我想在Joda-Time设置小时,分钟和秒.但是,当我设定它不改变财产.
这是我的代码:
import org.joda.time.DateTime;
public class JodaAkbar
{
public static void main(String args[])
{
DateTime dt = new DateTime();
System.out.println("Before:"+dt);
dt.hourOfDay().setCopy(5);
dt.minuteOfDay().setCopy(20);
dt.secondOfDay().setCopy(0);
System.out.println("After:"+dt);
}
}
Run Code Online (Sandbox Code Playgroud)
这是输出.
Before:2015-04-01T11:01:38.277+11:00
After:2015-04-01T11:01:38.277+11:00
Run Code Online (Sandbox Code Playgroud)
我得到了相同的输出.这里发生了什么错?
编辑:
基本上,我想做类似的事情,如下面的代码所示.由于以下代码在24小时格式下无法正常工作,我切换到了Joda-Time.
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR, 13);
cal.set(Calendar.MINUTE, 25);
cal.set(Calendar.SECOND, 0);
Run Code Online (Sandbox Code Playgroud) 我有一个列表,并希望通过django原始sql传递.
这是我的清单
region = ['US','CA','UK']
我在这里粘贴原始sql的一部分.
results = MMCode.objects.raw('select assigner, assignee from mm_code where date between %s and %s and country_code in %s',[fromdate,todate,region])
现在它给出了以下错误,当我在django python shell中执行它时
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py", line 1412, in __iter__
query = iter(self.query)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py", line 73, in __iter__
self._execute_query()
File "/usr/local/lib/python2.6/dist-packages/django/db/models/sql/query.py", line 87, in _execute_query
self.cursor.execute(self.sql, self.params)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/util.py", line 15, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/mysql/base.py", line 86, in execute
return self.cursor.execute(query, args)
File …Run Code Online (Sandbox Code Playgroud) 您好
我想水平对齐单选按钮.默认情况下,django表单以垂直格式显示.
feature_type = forms.TypedChoiceField(choices = formfields.FeatureType, widget = forms.RadioSelect)
Run Code Online (Sandbox Code Playgroud)
是否有任何特殊参数可以通过单选按钮对齐?
提前致谢
我试图使用python在Selenium webdriver中使用click命令.但我收到以下错误.有人能帮我吗?
Traceback (most recent call last):
File "C:\Users\vikram\workspace\LDC\test.py", line 13, in <module>
driver.find_elements_by_link_text("MISCQA Misc Tests").click()
AttributeError: 'list' object has no attribute 'click'
Run Code Online (Sandbox Code Playgroud)
这是我的计划
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import WebDriverWait
import config
url = config.config.get('url')
driver = webdriver.Ie()
driver.get(url)
driver.find_elements_by_link_text("MISCQA Misc Tests").click()
driver.close()
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些东西.请建议我
我无法在加载表单时为下拉列表设置默认值.
这是代码
state = forms.TypedChoiceField(choices = formfields.State)
State = (
('QC_APPROVED','QC_APPROVED'),
('REVERT','REVERT'),
('FIXED','FIXED'),
)
Run Code Online (Sandbox Code Playgroud)
如果我想将默认状态设置为FIXED.我正在写这段代码
state = forms.TypedChoiceField(choices = formfields.State, default = 'FIXED')
Run Code Online (Sandbox Code Playgroud)
如果我执行上面的代码我得到以下错误.
Exception Value: __init__() got an unexpected keyword argument 'default'
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
当我渲染我的表单时,即使表单未提交,django也会在每个字段上显示错误消息"此字段是必需的".可能是什么问题呢?
这是我的模型表格
class MMEditidStateForm(forms.ModelForm):
class Meta:
model = models.MMEditidState
exclude = ('status_id',)
Run Code Online (Sandbox Code Playgroud)
这是我的模特
class MMEditidState(models.Model):
state_id = models.IntegerField(primary_key = True)
state_dremelid = models.ForeignKey(MMDremelDump, db_column = 'state_dremelid')
assignee = models.CharField(max_length = 50)
state = models.CharField(max_length = 50)
role = models.CharField(max_length = 50)
date = models.DateTimeField()
class Meta:
db_table = u'mm_editid_state'
def __unicode__(self):
return u'%s %s' % (self.state_dremelid, self.assignee)
Run Code Online (Sandbox Code Playgroud)
这是我的看法
def qcthisedit(request, get_id):
dremel_id = MMEditidState.objects.filter(pk=get_id).values('state_dremelid')
if request.method == "POST":
form = forms.MMEditidStateForm(request.POST)
if form.is_valid():
form.save()
return http.HttpResponseRedirect('/mmqc/dremel_list/')
else:
form = forms.MMEditidStateForm(request.POST) …Run Code Online (Sandbox Code Playgroud) 我试图扭转一个不可修改的列表.但是我试图实现它但是有可能更新或反向和不可修改的列表吗?我知道我们可以使用Google Immutable List
import java.util.*;
public class ImmutableList
{
public static void main(String args[])
{
String[] mylist = {"Apple","Orange","Mango","Kiwi","Banana"};
List reverselist = new ArrayList();
List<String> strList = Arrays.asList(mylist);
List<String> unmodifiableList = Collections.unmodifiableList(strList);
for(int i=unmodifiableList.size();i>0;i--)
{
reverselist.add(unmodifiableList.get(i-1));
}
List<String> reverse = Collections.unmodifiableList(reverselist);
System.out.println(reverse);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的程序中,我只是从后面遍历不可修改的列表,并在将该数组添加到新的不可修改列表之后将它们放入数组中.我们能否在优化方面做得更好?
在Jbehave中,我们可以根据场景成功/失败的结果执行方法.下面提到的方法之一将在失败和成功之后执行.
@AfterScenario(uponOutcome=AfterScenario.Outcome.SUCCESS)
public void afterSuccessfulScenario() {
// Some code to execute...
}
@AfterScenario(uponOutcome=AfterScenario.Outcome.FAILURE)
public void afterFailedScenario() {
// Some code to execute...
}
Run Code Online (Sandbox Code Playgroud)
我正试图在Cucumber-jvm中实现同样的目标.方案挂钩@Before并将@After在每个方案之后执行.但我想为每个失败场景执行一些代码.
我不知道如何在cucumber-jvm中实现它.任何线索?
django ×4
java ×4
forms ×3
webdriver ×2
alignment ×1
collections ×1
cucumber ×1
cucumber-jvm ×1
date ×1
datediff ×1
datetime ×1
jbehave ×1
jodatime ×1
list ×1
python ×1
radio-button ×1
selenium ×1
sql ×1
tuples ×1
unmodifiable ×1