我有一些使用protractor for angular.js应用程序编写的测试.我正在使用Page Objects设计模式,我有一些方法可以通过单击链接和按钮导航到其他页面.不久之后我就打电话了browser.waitForAngular().
页面对象
module.exports = function () {
this.companyNameLink = element(by.id('viewCompany'));
this.newMeetingButton = element(by.id('newMeetingButton'));
this.createNewGeneralMeeting = function () {
this.newMeetingButton.click();
browser.waitForAngular();
};
this.goToCompanyPage = function () {
this.companyNameLink.click();
browser.waitForAngular();
};
};
Run Code Online (Sandbox Code Playgroud)
在一些spec文件中,我使用这样的页面对象..
var DashboardPage = require('../dashboardPageObject.js');
dashboardPage = new DashboardPage();
...
dashboardPage.goToCompanyPage();
Run Code Online (Sandbox Code Playgroud)
但问题是有时我得到angular could not be found on the window错误,我的测试失败了.大多数时候测试运行.这个问题是随机的.我的问题是,我应该browser.waitForAngular()从页面对象方法中删除并在我进行方法调用后调用它...
修改了页面对象
...
this.goToCompanyPage = function () {
this.companyNameLink.click();
};
...
Run Code Online (Sandbox Code Playgroud)
规格文件
dashboardPage.goToCompanyPage();
browser.waitForAngular();
Run Code Online (Sandbox Code Playgroud)
呼叫browser.waitForAngular()导致问题?我应该在哪里打电话waitForAngular有关于如何使用它的最佳做法?
我在我的角度应用程序中使用Angular UI路由器,我已启用HTML5模式,通过在配置中使用$ locationProvider删除#form的URL.
var app = angular.module('openIDC', ['ui.router']);
app.config(function($urlRouterProvider, $stateProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/home.html',
controller: 'HomeController'
})
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'LoginController'
})
});
Run Code Online (Sandbox Code Playgroud)
我也在<base href="/" />index.html文件中设置了标记.路由工作正常,我可以导航到页面并删除#但是当我使用浏览器上的重新加载按钮刷新页面时,会出现404错误响应.

为什么会发生这种情况,如何解决这个问题并启用HTML5模式以获得正确的URL
我有2个java netbeans项目,一个是Server,另一个是Client.我有一个我创建的Message类,我希望将其传递给服务器,并在服务器上完成修改后返回到客户端.我在两个项目中都包含了Message类.我使用ObjectOutputStream和ObjectInputStream传递对象.服务器和客户端之间的连接是正常的,并且对象通过但在服务器上,当我从ObjectInputStreamusing readObject()方法读取对象时,我将其类型转换为Message类.但是在服务器上抛出了ClassNotFoundException.它找不到Message类.我该如何解决这个问题?
客户代码:
public void startClient() {
try {
// Create the socket
Socket clientSocket = new Socket(HOST, PORT);
// Create the input & output streams to the server
ObjectOutputStream outToServer = new ObjectOutputStream(clientSocket.getOutputStream());
ObjectInputStream inFromServer = new ObjectInputStream(clientSocket.getInputStream());
// Read modify
// TODO here
/* Create The Message Object to send */
LinkedList<Message> msgList = new LinkedList<>();
Message msg = new Message();
msg.setMessage("Kasun");
msg.setIndex(1);
msg.setAverage(5.5f);
msgList.push(msg);
/* …Run Code Online (Sandbox Code Playgroud) 我有以下logout()函数,适用于大多数浏览器,但不适用于safari.safari中的问题是在注销后如果用户点击后退按钮,他们从缓存而不是登录屏幕获取上一页.有没有办法调整注销功能来处理这个问题?
function logout()
{
// unset any session variables
$_SESSION = [];
// expire cookie
if (!empty($_COOKIE[session_name()]))
{
// setcookie(session_name(), "", time() - 42000);
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]);
}
// destroy session
session_destroy();
}
Run Code Online (Sandbox Code Playgroud) 我有一个for循环,在javascript代码中迭代超过10,000次.for循环创建并将<div>标记添加到当前页面DOM的框中.
for(i = 0; i < data.length; i++)
{
tmpContainer += '<div> '+data[i]+' </div>';
if(i % 50 == 0) { /* some delay function */ }
}
containerObj.innerHTML = tmpContainer;
Run Code Online (Sandbox Code Playgroud)
我想在每50个<div>标签之后加一个延迟,那么代码的位置是什么
/* some delay function */
Run Code Online (Sandbox Code Playgroud)
因为它花了太多时间来加载所有10,000个<div>标签.我想以50 <div>标签的块更新框.
提前致谢.
我有一个ASP.Net 5应用程序,其中我有一些存储在config.json文件中的配置值.我的config.json文件是这样的.
{
"AppSettings": {
"SiteEmailAddress": "some@email.com",
"APIKey": "some_api_key"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在设置config.json文件以在Startup.cs这样的文件中使用.
public static IConfigurationRoot Configuration;
public Startup(IApplicationEnvironment appEnv) {
var builder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
.AddJsonFile("config.json")
.AddEnvironmentVariables();
Configuration = builder.Build();
}
Run Code Online (Sandbox Code Playgroud)
并访问这样的配置设置..
var email = Startup.Configuration["AppSettings:SiteEmailAddress"];
Run Code Online (Sandbox Code Playgroud)
在ASP.Net早期,我们可以使用该Web.Config文件来存储这些应用程序设置,并在"Azure应用程序设置"部分的"应用程序设置"中覆盖它们,并且不会出现任何问题.但是我怎么能在ASP.Net 5应用程序中做同样的事情.
如何覆盖Azure中"应用程序设置"部分中config.json文件中的配置值.
我正在使用 Visual Studio 2015 项目模板中的 Azure 资源组项目为我的项目创建 Azure 资源管理器部署模板。我之前成功地创建了这些项目。但是今天更新了Azure SDK到v2.9.5,突然项目创建失败。它失败并显示以下错误消息。
无法将“System.__ComObject”类型的 COM 对象强制转换为“EnvDTE.Project”类型的接口。此操作失败,因为 IID 为“866311E6-C887-9833-645F5B93F6F1}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持 cush 接口(来自 HRESULT 的异常:0x80004002 (E_NONINTERFACE))。
当我从模板选择对话框中选择启动模板时会发生此异常(我选择了 WebApp+SQL 模板。这对于其他模板也失败)。所以在此之后,项目是不完整的创建。
我在 3 台安装了 Azure SDK v2.9.5 的不同 PC 上遇到了同样的问题。这个问题是否与 SDK 本身有关?或者我应该如何解决这个问题。
azure azure-resource-manager visual-studio-2015 azure-rm-template azure-sdk
我在xaml代码中包含了四张照片,如下所示
<Image Grid.Column="0"
Source="Assets/1.png"
Name="m1"
MouseLeftButtonDown="selected"/>
<Image Grid.Column="1"
Source="Assets/2.png"
Name="m2"
MouseLeftButtonDown="selected"/>
<Image Grid.Column="2"
Source="Assets/3.png"
Name="m3"
MouseLeftButtonDown="selected"/>
<Image Grid.Column="3"
Source="Assets/4.png"
Name="m4"
MouseLeftButtonDown="selected"/>
Run Code Online (Sandbox Code Playgroud)
我想在"选定"功能中获取图像的来源.我选择的功能如下
private void selected(object sender, MouseButtonEventArgs e)
{
//do somethings....
}
Run Code Online (Sandbox Code Playgroud)
如何将所选图像(发送方)的源分配给新的Image对象?类似的事情如下
Image newimage = new Image();
newimage.Source = //something..
Run Code Online (Sandbox Code Playgroud)
有没有办法动态获取源?
我创建了一个自定义定位器来查找使用ng-click方法的元素.我用它来获取DOM中按钮的引用.
this.button = element(by.ngClick('login()'));
Run Code Online (Sandbox Code Playgroud)
我想从参考中获取按钮上的文本.例如,如果按钮具有"Click to Login"作为文本,我如何从button引用中提取它?
我有一个抛出NullReferenceException的代码段.代码段就是这样的.
if (string.IsNullOrWhiteSpace(user.FirstName) && !(user.FirstName.Length <= 64))
{
// Some Code
}
Run Code Online (Sandbox Code Playgroud)
这里if条件首先要检查是否user.FirstName为Null或WhiteSpace.当值为user.FirstNamenull时,此代码段抛出一个NullReferenceException.我假设通过检查Lengthof 来抛出这个user.FirstName,但由于这是一个短路检查,因此第一个表达式不应满足条件并执行if块内的代码.或者我在这里遗漏了一些东西.