我必须为一个Angular应用程序的网站编写测试,并且有大量的动画.几乎所有的东西都有一个"迷你"的窗口,从顶部滑入并进入中心,然后它的内容从右边进入,直到进入它们,依此类推.
这打破了我的测试,很多.量角器看到元素,因为它们被显示但是它们无法点击它们,因为它们正在移动并且它抛出一个错误,说其他元素将接收到点击.这经常发生,我不知道如何处理它(除了使用browser.sleep(xxxx)).
除了使用睡眠功能外,有没有解决方法呢?如果我真的没有其他选择,我必须在第二排使用它...
**我试过这个browser.manage().timeouts().implicitlyWait(30000);并没有帮助.
PS我也有一些案例,其中量角器试图在元素可见之前点击它.
我可以制作一个简短的视频来展示动画是什么,如果需要的话.
test.describe('Profile tests: ', function(){
this.timeout(0);
test.before(function(){
browser.get('......');
});
test.it('Change Username', function() {
var newUsername = 'Sumuser';
welcome.continueLink.click();
bonus.takeBonus.isDisplayed().then(function() {
bonus.takeBonus.click();
});
entrance.openEntrance.click();
browser.sleep(300);
loginBasic.openNormalLogin.isDisplayed().then(function() {
loginBasic.openNormalLogin.click();
});
browser.sleep(300);
login.usernameField.isDisplayed().then(function() {
login.usernameField.sendKeys(username);
});
login.passwordField.sendKeys(password);
login.loginButton.click();
infoBar.avatar.click();
browser.sleep(1000);
myProfile.editProfileButton.click();
browser.sleep(1000);
username.field.clear();
username.field.sendKeys(newUsername);
editProfileButtons.saveChanges.click();
browser.sleep(1000);
myProfile.username.getText().then(function (text){
expect(text).to.equal(newUsername);
});
});
});
Run Code Online (Sandbox Code Playgroud)
我也尝试在配置文件中添加以下内容以禁用动画:
onPrepare: function() {
var disableNgAnimate = function() {
angular.module('disableNgAnimate', []).run(['$animate', function($animate) {
$animate.enabled(false);
}]);
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个自动完成组件,人们将使用它从项目列表中选择一个项目,我已经做到了,没有问题。
\n问题是,我还想在列表末尾添加一个按钮(就像列表中始终存在的最后一项),这样,如果该人正在查找的项目不存在,则该人可以单击该按钮添加新项目。这是同一个问题并且已得到解答,但是对于react-select,我在material-ui 的API 中找不到任何可以执行相同操作的内容。在反应选择的选项末尾添加一个按钮
\n一个例子(取自上面的问题):https ://i.stack.imgur.com/WRFd8.png
\n我尝试向 TextField 添加 onClick,但是当然,只要有人单击自动完成,就会触发 onClick
\n <Autocomplete\n id="supplierIdd"\n style={{ width: 300 }}\n options={suppliers.map((supplier) => supplier.name)}\n renderInput={(params) => \n <>\n <TextField {...params} label="\xd0\x91\xd1\x83\xd0\xbb\xd1\x81\xd1\x82\xd0\xb0\xd1\x82" margin="normal" onClick={()=>{console.log("hi")}} variant="outlined" />\n </>\n }\n />\nRun Code Online (Sandbox Code Playgroud)\n我还尝试添加到选项数组,但当然,这只是选项数组,而不是元素,那么我将在哪里添加一个或任何元素?
\n我正在尝试创建一个下一个应用程序,它也可以通过套接字与其后端实时通信,并且我正在使用socket.io它。它在本地运行得很好(即使是在构建时),但是当部署到 vercel 时,我收到以下类型的错误WebSocket connection to '<URL>' failed: WebSocket is closed before the connection is established.
首先,我创建了一个自定义 Nextjs 服务器:
import { createServer } from "http";
import { parse } from "url";
import { Server as SocketIOServer, Socket } from "socket.io";
import next from "next";
const port = parseInt(process.env.PORT || "3000", 10);
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();
console.log("hello");
app.prepare().then(() => {
const server = createServer((req, res) => { …Run Code Online (Sandbox Code Playgroud) 我试图在Monogame中旋转一个精灵,但由于某种原因我无法正确!如果有人解释轮换之谜,我将非常感激!
这是我用来绘制和旋转我的精灵的代码行,只是注意变量y是我在每次更新时将其递增0.1的角度,这仅用于测试目的.如何让大炮围绕图像内的原点旋转?例如,它的中心点就像直升机螺旋桨?检查视频以查看此行代码的结果.
spriteBatch.Draw(cannon.image, new Rectangle(300, 300, cannon.image.Width, cannon.image.Height), null, Color.White, y, new Vector2(0, 0), SpriteEffects.None, 0f);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个严重依赖数据输入的应用程序,因此我必须使用必需和非必需数据构建不同类型的对象,非必需数据块是我的问题,因为这会导致很多额外的代码,我想知道是否有办法避免这种情况。
这里我有一个有 6 个字段的表单(它只是一个例子,但我在应用程序的许多其他地方都有相同的情况),其中 2 个是必需的,其余的不是,我写了这个函数来处理对象创建:
const handleAddSupplier = (e) => {
e.preventDefault();
const formData = e.target.elements;
const supplierData = {
name: formData.name.value,
companyId: formData.companyId.value,
...((formData.country.value || formData.city.value || formData.postalCode.value || formData.street.value) && {
address: {
...(formData.country.value && { country: formData.country.value }),
...(formData.city.value && { city: formData.city.value }),
...(formData.postalCode.value && { postalCode: formData.postalCode.value }),
...(formData.street.value && { street: formData.street.value }),
},
}),
};
console.log(supplierData);
};
Run Code Online (Sandbox Code Playgroud)
它有效,但在我看来它的代码太多,我怀疑有更简单的方法来做到这一点。
必须创建的对象的“签名”是:
{
name: "",
companyId: "",
address: {
country: "",
city: "",
postalCode: "", …Run Code Online (Sandbox Code Playgroud) 嗨伙计们,我不知道为什么我的代码不工作,任何帮助将非常感谢!
我有一个给定的字符串,在每个数字之间填充数字和空格我必须删除空格,以便我将所有数字粘在一起.
string nums = "1 2 3 4 5";
for (int i = 0; i < nums.Length; i++)
{
if (nums[i].ToString() == " ")
{
nums[i].ToString() = "";
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用.Replace("",""); 但再一次没有成功,我无法弄清楚我做错了什么..我需要一个简单,初学者友好的解决方案!
我什至不确定是否可以做我想做的事情......但是,我有一个字符列表(Character是基本类型),它包含从Character类型(如Warriors和Mages)派生的项目。
继承链是:
Character->Melee->Warrior
Character->Spellcaster->Mage
Run Code Online (Sandbox Code Playgroud)
我想在一行代码中提取所有法师和所有战士。
我设法做到了OfType,但无法使用.Where
我试过以下
List<Character> chars = new List<Character>()
{
new Warrior(),
new Warrior(),
new Warrior(),
new Mage(),
new Mage(),
new Mage(),
};
List<Melee> melees = chars.OfType<Melee>().ToList(); // works
List<Melee> melee = chars.Where(c => c is Melee).ToList(); // doesnt work
Run Code Online (Sandbox Code Playgroud)
这是错误
严重性代码说明项目文件行抑制状态错误 CS0029 无法将类型 System.Collections.Generic.List<MagicDestroyers.Characters.Character> 隐式转换为 System.Collections.Generic.List<MagicDestroyers.Characters.Melee.Melee>
显然我需要执行一些类型转换,我只是不知道在哪里做?
编辑:问题是如何通过使用.Where带有的行来获得相同的结果c => c is Melee,因为它很容易阅读。
我正在尝试创建一个整数列表列表,我想在不使用.Add的情况下"内联",但它不起作用,为什么?
// This is working
List<List<int>> lists = new List<List<int>>();
lists.Add(new List<int>() { 1, 2, 3 });
lists.Add(new List<int>() { 4, 5, 6 });
lists.Add(new List<int>() { 7, 8, 9 });
// This compiles, no red, but is not working, the list stays empty
List<List<int>> secondList = new List<List<int>>();
{
new List<int>() { 1, 2, 3 };
new List<int>() { 4, 5, 6 };
new List<int>() { 7, 8, 9 };
};
Run Code Online (Sandbox Code Playgroud)
另外,为什么第二个例子需要; 列表之间而不只是","与某种类型的列表一样?
PS解决了我刚刚意识到我有另一个问题,我List<List<int>> list = new …
我有一些枚举声明,因为我不明原因导致StackOverflowException.
我有以下内容:
public enum PrimaryAttribute
{
Strength,
Agility,
Intelligence
}
public enum Class
{
Tank,
Fighter,
Sorcerer
}
public class Hero
{
public PrimaryAttribute PrimaryAttribute { get; private set; }
public Class Class
{
get
{
return Class;
}
set
{
if (Class == Class.Tank)
{
PrimaryAttribute = PrimaryAttribute.Strength;
IsBlocking = true;
}
else if (Class == Class.Fighter)
{
PrimaryAttribute = PrimaryAttribute.Agility;
IsBlocking = false;
IsDodging = true;
}
else if (Class == Class.Sorcerer)
{
PrimaryAttribute = PrimaryAttribute.Intelligence;
IsBlocking = …Run Code Online (Sandbox Code Playgroud)