我正在尝试在GWT应用程序上进行一些自动UI测试,而我却无法找到跟踪UI元素的方法.
例如,我有以下内容:
<g:Button text="Submit" ui:field="submitButton" enabled="true" />
Run Code Online (Sandbox Code Playgroud)
产生:
<button class="gwt-Button" type="button">Submit</button>
Run Code Online (Sandbox Code Playgroud)
设置ui:field和id都是编译器错误(无论如何都认为id已被弃用)所以问题是我没有简单的方法来使用像selenium这样的东西来选择我的提交按钮.
有谁知道我可以映射的方式
ui:field="sumbitButton"
Run Code Online (Sandbox Code Playgroud)
生成的HTML?
我遇到的问题是我们的单元格表只显示15行.我有以下内容:
//assume these are initialised correctly in the constructor
private final CellTable<DataModel> dataTable;
private DataModel dataModel;
private void initialize(){
dataTable.setRowData(0, data.getDataList());
dataTable.setRowCount(data.getDataList().size());
}
Run Code Online (Sandbox Code Playgroud)
现在getDataList()返回一个List<Data>大小为18 的对象,但由于某种原因它只显示15.
有什么我想念的吗?是否有一些"Gotcha"用于限制它将显示的行数的celltables?
作为旁注,当我对列表进行排序时,我可以看到所有数据对象,但一次只能看到15个...
我正在尝试将api密钥附加到OperationContext传出消息头,如下所示:
public static void AddApikeyToHeader(string apikey, IContextChannel channel, string address)
{
using (OperationContextScope scope = new OperationContextScope(channel))
{
MessageHeader header = MessageHeader.CreateHeader("apikey", address, apikey);
OperationContext.Current.OutgoingMessageHeaders.Add(header);
}
}
Run Code Online (Sandbox Code Playgroud)
但后来我不知道如何检索服务器端的标头.我正在使用服务授权管理器,我得到当前的操作上下文并尝试检索这样的标题:
public string GetApiKey(OperationContext operationContext)
{
var request = operationContext.RequestContext.RequestMessage;
var prop = (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name];
return prop.Headers["apikey"];
}
Run Code Online (Sandbox Code Playgroud)
但那里没有附加的apikey标题.另外,在我检查operationContext的时候调试我似乎无法在任何地方看到我的apikey头.谁能看到我哪里出错了?
我正在尝试创建一个计时器,每个刻度都更新一个标签,这是我到目前为止:
public override void ViewDidLoad ()
{
timer = new Timer ();
timer.Elapsed += new ElapsedEventHandler (TimerOnTick);
timer.Interval = 1000;
timer.Start ();
}
private void TimerOnTick (object obj, EventArgs ea)
{
timerLabel.Text = DateTime.Now.ToString ();
timerLabel.SetNeedsDisplay ();
}
Run Code Online (Sandbox Code Playgroud)
但这不会更新标签.在调试中我可以看到timerLabel.Text正在设置,但我不能让视图更新或重绘.
更新后,如何让我的视图重绘timerLabel.text?